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