Укажите наименьшее из таких чисел x, при вводе которого алгоритм печатает сначала 3, а потом 4.
var x, a, b: integer;
begin
readln(x);
a:=0; b:=0;
while x>0 do
begin
a:=a + 1;
if b < (x mod 8)
then b:=x mod 8;
x:=x div 8;
end;
writeln(a); write(b);
end.
Ответы
Ответ дал:
0
При x = 68;
Как проверял:
var
x, a, b, i: integer;
begin
for i := 1 to 1000 do
begin
x := i;
a := 0;
b := 0;
while x > 0 do
begin
a := a + 1;
if b < (x mod 8)
then b := x mod 8;
x := x div 8;
end;
if (a = 3) and (b = 4) Then
begin
writeln(i);
break;
end;
end;
end.
Взял 1000 потому что думал, что должно быть меньше. Если бы программа не сработала взял бы либо отрицательные числа, либо больше тысячи (возможно бы пришлось изменить тип данных).
Вас заинтересует
2 года назад
3 года назад
9 лет назад
9 лет назад
9 лет назад