Укажите наибольшее натуральное число, при вводе которого эта программа напечатает сначала 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.
Наибольшее натуральное число, при вводе которого программа напечатает сначала 3, потом 6 - 63.
При вводе числа 63 программа будет выполнять следующие действия:
Подсчитывать количество цифр в числе в восьмеричной системе счисления (L): 63 в восьмеричной системе равно 77, что состоит из двух цифр. Поэтому L будет равно 2.Если цифра числа в восьмеричной системе не равна 0, то она будет добавляться к сумме (M): В числе 63 в восьмеричной системе обе цифры (7 и 7) не равны 0. Поэтому M будет равно сумме чисел 7+7=14.
Таким образом, при вводе числа 63 программа сначала напечатает число 2, а затем число 14.
Наибольшее натуральное число, при вводе которого программа напечатает сначала 3, потом 6 - 63.
При вводе числа 63 программа будет выполнять следующие действия:
Подсчитывать количество цифр в числе в восьмеричной системе счисления (L):63 в восьмеричной системе равно 77, что состоит из двух цифр. Поэтому L будет равно 2.Если цифра числа в восьмеричной системе не равна 0, то она будет добавляться к сумме (M):
В числе 63 в восьмеричной системе обе цифры (7 и 7) не равны 0. Поэтому M будет равно сумме чисел 7+7=14.
Таким образом, при вводе числа 63 программа сначала напечатает число 2, а затем число 14.