Ниже на трёх языках программирования записана программа, которая получает на вход натуральное число , выполняет преобразования, а затем выводит два числа. Сколько существует таких
, при вводе которых программа выведет числа
и
?
Проанализируем программу. Переменная равна количеству всех цифр числа
. Переменная
равна сумме всех цифр числа
, которые кратны
. Теперь комбинаторно посчитаем количество всех девятизначных чисел, у которых сумма цифр, кратных
, равна
. Заметим, что в числе не может быть более восьми девяток, иначе сумма цифр, кратных трём, будет большле
. Тогда будем считать количество чисел путём уменьшения количества девяток.
1) Восемь девяток, в числе не содержится ноль. Если в числе восемь девяток, значит сумму цифр, кратных трём, равную , мы уже набрали. Тогда оставшаяся девятая цифра может быть любой из шести цифр, некратных трём:
. Количество таких чисел равно
(поставить
цифр, некратных
, на любую из
позиций)
2) Восемь девяток и ноль. Количество таких чисел равно (поставить ноль на любую из восьми позиций кроме первой, потому что число не может начинаться с нуля)
3) Семь девяток, шестёрка и тройка. Количество таких чисел равно (девять вариантов поставить на любое из девяти мест тройку и восемь вариантов поставить на одно из оставшихся восьми мест шестёрку)
4) Шесть девяток и три шестёрки. Количество таких чисел равно (количество способов поставить три шестёрки на любое из девяти мест)
Тогда ответ будет равен