Форум » Циклы и ветвления » 20 - 107 (106) » Ответить

20 - 107 (106)

Fivel: Добрый день! Подскажите, пожалуйста, как рассуждать в задачи 107? 107) (Д.Ф. Муфаззалов) Укажите количество двузначных натуральных чисел, при вводе которых приведенная ниже программа напечатает число, отличное от 0. var i, n: longint; begin i := 0; readln(n); while (n > 0) do begin i := i + n mod 9; n := n div 9; end; writeln(i mod 8); end. Спасибо.

Ответов - 3

Поляков: Fivel пишет: Подскажите, пожалуйста, как рассуждать в задачи 107? Попробуйте подумать в направлении девятеричной системы счисления.

Fivel: программа выдает 0, если i - это число кратное 8. Двузначных чисел у нас 90 штук. от 10 до 99 чисел кратных 8 - 11 штук. 90-11=79. Ответ 79. Такое рассуждение? Или нет?

Поляков: Fivel пишет: программа выдает 0, если i - это число кратное 8. Двузначных чисел у нас 90 штук. от 10 до 99 чисел кратных 8 - 11 штук. 90-11=79. Ответ 79. Такое рассуждение? Или нет? Ну, почти. 1) В этой программе i - сумма цифр числа в девятеричной системе. 2) Пусть две цифры числа в девятеричной системе - a и b, то есть это число X = a*9 + b. Если a + b = k*8, то число равно X = a*9 + k*8 - a = a*8 - k*8, то есть оно делится на 8. 3) далее так, как вы написали.




полная версия страницы