Ziorar
Я правда не понял смысл преобразований в этом алгоритме, поэтому поместил его в цикл от 100 до 999 (все трёхзначные числа). Вместо ввода числа, оно передавалось из переменной цикла. И сделал выход из программы по условию a=2 и b=9. После выполнения этой программы, в конце лога можно увидеть искомое трёхзначное натуральное число 280 (точнее, в последней строке будет напечатано 280 2 9 ).
Вот программа: var n, x, a, b: longint;
begin for n := 100 to 999 do begin write(n,' '); x := n; a := 0; b := 1; while x > 0 do begin if x mod 2 > 0 then a := a + x mod 6 else b := b + (x mod 6); x := x div 6; end; writeln(a,' ',b); if (a=2) and (b=9) then exit; end; end.
0 votes Thanks 0
Ziorar
Я не знал, думал что решение на компьютере тут допустимо
Answers & Comments
И сделал выход из программы по условию a=2 и b=9.
После выполнения этой программы, в конце лога можно увидеть искомое трёхзначное натуральное число 280 (точнее, в последней строке будет напечатано 280 2 9 ).
Вот программа:
var
n, x, a, b: longint;
begin
for n := 100 to 999 do
begin
write(n,' ');
x := n;
a := 0; b := 1;
while x > 0 do
begin
if x mod 2 > 0 then
a := a + x mod 6
else
b := b + (x mod 6);
x := x div 6;
end;
writeln(a,' ',b);
if (a=2) and (b=9) then exit;
end;
end.