Задать вопрос
22 ноября, 08:19

Ниже записан алгоритм. Укажите наибольшее из таких чисел 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.

+4
Ответы (1)
  1. 22 ноября, 08:29
    0
    Сначала смотрим на то, что происходит в цикле с переменной а. К ней добавляются по 2 единицы за шаг цикла. Так как программа выводит значение а, равное 4, делаем вывод, что цикл повторится 2 раза.

    Далее посмотрим на условие окончания. Цикл с предусловием while будет выполниться, пока x больше 0, а в самом цикле происходит целочислительное деление x на 1000, что означает "отщепление" от числа по 3 цифры младших разрядов. Из этого следует, что число должно иметь как минимум 4 цифры, чтобы цикл повторился 2 раза.

    Значение b должно быть равно 13. 13 - простое число. Следовательно, равно 1*13. Поставим 13 в левый конец числа, а 1 - в правый. Третий и второй знаки будут равны 0. Таким образом получим число 13001.

    Ответ: 13001
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Ниже записан алгоритм. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 4, а потом 13. var x, a, b: ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы