Пока N > 0
S := S + N mod 10
N := N div 10
N mod 10 - это последняя цифра числа N,
N div 10 - это результат отбрасывания последней цифры из N,
т.е. в результате S будет содержать сумму цифр N
Сама же программа считает сумму цифр числа S, затем сумму цифр получившегося числа, и т.д., пока не получится одна цифра.
Кажется, такую цифру называют "цифровым корнем" числа, но на самом деле в десятичной системе счисления это просто остаток от деления на 9.
(поскольку (10*a + b) mod 9 = (9*a + a + b) mod 9 = (a+b) mod 9)
Для вывода 0 и 7 на вход надо подать число S = 7
Для вывода 1 и 7 на вход нужно подать число >= 10 с суммой цифр = 7, минимальным таким числом является 16.
Для вывода 2 и 7 на вход нужно подать такое число, что если сумму его цифр передать на вход, будет выведено 1 и 7. Т.е. сумма цифр будет по крайней мере не меньше 16, значит само число не меньше 79 (это наименьшее число, сумма цифр которых >= 16).
Для вывода 3 и 7 нужно подать число, сумма цифр которого при передаче на вход дас результат 2 и 7, т.е. сумма цифр не меньше 79, тогда само число не меньше 799999999 (наименьшее число с суммой цифр >= 79).
Получаем, что число S = 799999999 дает требуемый вывод, и не существует чисел меньше, которые бы тоже давали такой результат (показано ранее + можно дополнительно проверить программно, перебирая всевозможные S, занимает несколько минут).
Поделитесь своими знаниями, ответьте на вопрос:
Реферат учащегося по информатике имеет объем 40 килобайт. каждая страница реферата содержит 40 строк по 64 символа в каждой, мощность алфавита – 256 символов. найдите количество страниц в реферате?
запишем условие: I=40Kб, строк=40, символы=64, N=256, страницы-?
решение: из формулы мощности алфавита найдем вес одного символа
N=2^i, 256=2^i, 2^8=2^i, i=8 бит
выразим информационный объем в битах
I=40Кб*1024*8=327680 бит
найдем из формулы информационного объема общее количество символов в тексте K=I/i=327680/8=40960
узнаем сколько страниц в реферате страницы=40960/40/64=16
это и есть ответ