Var n,s,a,m:longint;
begin
readln(n,s);
m:=10;
if s mod n=0 then a:=s else a:=s*10;
while a mod n<>0 do
if a mod m=(m-1)
then begin m:=m*10; a:=s*m; end
else a:=a+1;
writeln(a);
end.
Пример:
123 16
<span>16113</span>
//PascalABC.NET 3.1 сборка 1200
function F1(n: integer): integer;
begin
if n = 1 then
F1 := 2
else if n = 2 then
F1 := 1
else
F1 := F1(n - 1) + F1(n - 2);
end;
function F2(n: integer): integer;
begin
if n = 1 then
F2 := 1
else if n = 2 then
F2 := 2
else
F2 := F2(n - 1) - F2(n - 2) + 2 * n;
end;
begin
var n:= ReadInteger('n=');
Writeln(F1(n)); // вариант1
Writeln(F2(n)); // вариант2
end.
дополнительный алгоритм - инкапсулированная процедура или функция не зависимая от основного алгоритма, исполняет свою часть задачи в зависимости от переданых параметров
Готово...............................
Ну по логике, наверное, достаточно одного взвешивания. Получаем при этом некоторую массу в граммах. Затем смотрим, сколько нам не хватает граммов до 40 грамм - это и будет количество фальшивых монет.
Например:
Получили 40 г. Значит все 4 монеты весят 10 г.
Получили 39 г. Значит имеем три монеты по 10 г и одну 9 г. Т.е. одна фальшивая.
Получили 38 г. Значит имеем 2 монеты по 10 г и две по 9 г. Т.е. две фальшивки.
Получили 37 г. Значит одна 10 г и три по 9 г. Т.е. три фальшивки.
Получили 36 г. значит имеем 4 монеты по 9 г, то есть все 4 фальшивые.
Так вот как-то...