• Предмет: Информатика
  • Автор: Аноним
  • Вопрос задан 2 года назад

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