Предмет: Информатика, автор: Аноним

Количество разбиений на слагаемые
Дано натуральное число N. Найдите количество его разбиений на натуральные слагаемые. Два разбиения, отличающиеся только порядком слагаемых, будем считать за одно.

Например, для N=5 существует 7 различных разбиений:

5=5
5=4+1
5=3+2
5=3+1+1
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1
Входные данные

Задано единственное число N≤30.

Выходные данные

Выведите количество различных разбиений на слагаемые.

Примеры
Ввод
Вывод
5
7
пайтон

Ответы

Автор ответа: Jason785
1

Ответ:

Код на Python:

from itertools import combinations_with_replacement as comb

n = int (input())

 

def func (a):

   global n

   if a == n:

       return 1

   else:

       return 0

   

a = list(range(1, n+1))

count = 0

for i in range (1, n+1):

    y = sum(map (func, map(sum, comb (a, i))))

    count += y

print (count)

Объяснение:


fkid2006: надо на С++
Похожие вопросы
Предмет: Русский язык, автор: Имилия1
Предмет: Русский язык, автор: Аноним