
У Васи есть любимое число n. Он хочет разбить его на несколько ненулевых цифр. Это означает, что он
хочет выбрать несколько цифр d1,d2,…,dk, таких, что 1≤di≤9 для всех i и d1+d2+…+dk=n. Поскольку Вася во всем любит красоту, он хочет найти любое решение, в котором количество различных цифр среди d1,d2,…,dk будет как можно меньше. Помогите ему! Входные данные В первой строке находится единственное целое число n — число, которое хочет разбить Вася (1≤n≤1000). Выходные данные В первой строке выведите одно целое число k — количество цифр в разбиении. Заметьте, что k должно удовлетворять неравенству 1≤k≤n. В следующей строке выведите k цифр d1,d2,…,dk, разделенных пробелами. Для всех цифр должно быть выполнено неравенство 1≤di≤9. Вы должны найти разбиение числа n, в котором количество различных цифр среди d1,d2,…,dk будет минимальным среди всех разбиений числа n на ненулевые цифры. Среди таких разбиений разрешается найти любое. Гарантируется, что существует хотя бы одно разбиение числа n на цифры. Примеры входные данные 1 выходные данные 1 1 входные данные 4 выходные данные 2 2 2 входные данные 27 выходные данные 9 9 9

Ответы на вопрос

можно было бы просто все заполнить одними единицами и посчитать их число, но я подумал что так будет не правильно и сделал так.
python
n = int(input('Введите n: '))
k = 0
d = []
for i in range(10, 0, -1):
while n - i > 0:
k += 1
d.append(i)
n -= i
if n == 1:
k += 1
d.append(1)
break
print(k)
[print(str(i) + ' ', end='') for i in d]



Для решения этой задачи нужно разбить число n на сумму нескольких ненулевых цифр таким образом, чтобы количество различных цифр было минимальным. Один из способов достичь этого — разбить число на сумму только девяток, поскольку 9 имеет наименьшее количество различных цифр среди всех цифр от 1 до 9.
Пример: Пусть n = 27. Мы можем разбить это число на сумму трех девяток: 9 + 9 + 9 = 27.
Таким образом, вывод будет следующим:
3 9 9 9
Это удовлетворяет условиям задачи: число 27 разбито на ненулевые цифры (9), и количество различных цифр (1) минимально.
Пример: Пусть n = 4. Мы можем разбить это число на сумму двух двоек: 2 + 2 = 4.
Таким образом, вывод будет следующим:
2 2 2
Это также удовлетворяет условиям задачи: число 4 разбито на ненулевые цифры (2), и количество различных цифр (1) минимально.
Таким же образом, вы можете решить и другие примеры.
Обратите внимание, что вам не обязательно искать наименьшее количество различных цифр в общем случае. Достаточно разбить число на сумму цифр, начиная с 9 и уменьшая значение, если это необходимо.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili