Ниже записан алгоритм. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 4, а потом 13. var x, a, b: integer; begin readln(x); a := 0; b := 1; while x больше 0 do begin a := a+2; b...
Ниже записан алгоритм. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 4, а потом 13.
var x, a, b: integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a+2;
b := b*(x mod 1000);
x := x div 1000;
end;
writeln(a); write(b);
end.
Ответ(ы) на вопрос:
Гость
Сначала смотрим на то, что происходит в цикле с переменной а. К ней добавляются по 2 единицы за шаг цикла. Так как программа выводит значение а, равное 4, делаем вывод, что цикл повторится 2 раза.
Далее посмотрим на условие окончания. Цикл с предусловием while будет выполниться, пока x больше 0, а в самом цикле происходит целочислительное деление x на 1000, что означает "отщепление" от числа по 3 цифры младших разрядов. Из этого следует, что число должно иметь как минимум 4 цифры, чтобы цикл повторился 2 раза.
Значение b должно быть равно 13. 13 - простое число. Следовательно, равно 1*13. Поставим 13 в левый конец числа, а 1 - в правый. Третий и второй знаки будут равны 0. Таким образом получим число 13001.
Ответ: 13001
Не нашли ответ?
Похожие вопросы