Предмет: Информатика,
автор: usmonzayniddinow
У Васи есть любимое число 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
Ответы
Автор ответа:
0
можно было бы просто все заполнить одними единицами и посчитать их число, но я подумал что так будет не правильно и сделал так.
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]
Похожие вопросы
Предмет: Русский язык,
автор: irinapotapckova
Предмет: Английский язык,
автор: lianno4ka24
Предмет: Русский язык,
автор: andreev256789
Предмет: Физика,
автор: samy222
Предмет: Математика,
автор: никита3176