Укажите наибольшее натуральное число, при вводе которого эта программа напечатает сначала 3, потом – 6. С объяснением
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:=L + 1;
if (x mod 8) <> 0 then
M:= M + x mod 8;
x:= x div 8;
end;
writeln(L); write(M);
end.

14 Окт 2019 в 07:44
275 +1
1
Ответы
1

Наибольшее натуральное число, при вводе которого программа напечатает сначала 3, потом 6 - 63.

При вводе числа 63 программа будет выполнять следующие действия:

Подсчитывать количество цифр в числе в восьмеричной системе счисления (L):
63 в восьмеричной системе равно 77, что состоит из двух цифр. Поэтому L будет равно 2.Если цифра числа в восьмеричной системе не равна 0, то она будет добавляться к сумме (M):
В числе 63 в восьмеричной системе обе цифры (7 и 7) не равны 0. Поэтому M будет равно сумме чисел 7+7=14.

Таким образом, при вводе числа 63 программа сначала напечатает число 2, а затем число 14.

19 Апр 2024 в 11:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир