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

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

Условие

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

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

Решение

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

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

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

Получается, ответ 2.


Ответ: 2

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

Меню

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