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

VeronaKotik VeronaKotik    3   28.07.2019 01:20    0

Ответы
KOnyaHA KOnyaHA  25.09.2020 15:27
Сначала смотрим на то, что происходит в цикле с переменной а. К ней добавляются по 2 единицы за шаг цикла. Так как программа выводит значение а, равное 4, делаем вывод, что цикл повторится 2 раза.
 Далее посмотрим на условие окончания. Цикл с предусловием while будет выполниться, пока x больше 0, а в самом цикле происходит целочислительное деление x на 1000, что означает "отщепление" от числа по 3 цифры младших разрядов. Из этого следует, что число должно иметь как минимум 4 цифры, чтобы цикл повторился 2 раза.
 Значение b должно быть равно 13. 13 - простое число. Следовательно, равно 1*13. Поставим 13 в левый конец числа, а 1 - в правый. Третий и второй знаки будут равны 0. Таким образом получим число 13001.
ответ: 13001
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика