Задать свой вопрос   *более 50 000 пользователей получили ответ на «Решим всё»

Задача 7482 Ниже на четырёх языках записан алгоритм....

Условие

Ниже на четырёх языках записан алгоритм. Получив на вход число х, этот алгоритм печатает два числа: а и Ь. Укажите такое число х, при вводе которого алгоритм печатает сначала 2, а потом 1.

информатика 10-11 класс 3002

Решение

Программа состоит из одного цикла, его мы будем разбирать.
Но сначала определимся с переменными. Есть: a = 0 и b = 1. Нужно: a = 2 и b = 1.

Разбираем каждую переменную:
a) Смотрим, от чего зависит "а". В цикле есть строчка "a:=a+1" (паскаль), что она делает? Эта строчка работает как счетчик. С каждым заходом в цикл "а" увеличивается на единицу. На выходе мы должны получить "а = 2", следовательно, нам нужно, чтобы цикл сработал два раза. Смотрим на условие цикла: while x > 0. Также заметим строчку "x:=x div 10", значит, перед выходом из цикла, от исходного числа "отрубают" последнюю цифру. И это будет продолжаться до тех пор, пока исходное число не станет нулём. Выходит, чтобы цикл выполнился 2 раза, нам нужно двухзначное число. С этим разобрались.

b) Смотрим, от чего зависит переменная "b". Замечаем строчку: "b := b*(x mod 10)". Получается, каждая "отрубленная" последняя цифра будет умножаться на "b". Вспомним, какие нам значения нужны? "b" должно быть равно единице. Но "b" сейчас и так равна единице. Значит, чтобы оставить эту единицу, все цифры исходного числа должны быть равны единице (z*1=z).

Итак, число быть двухзначным и состоять только из единичек. Конечно же, это 11.


Ответ: 11

Написать комментарий

Меню

Присоединяйся в ВК