Количество разбиений на слагаемые Дано натуральное число 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
пайтон

babikahenjudzao babikahenjudzao    3   01.03.2021 18:50    10

Ответы
Dinozavrik2525 Dinozavrik2525  31.03.2021 18:51

Код на 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)

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика