Задано натуральное число x. Найдите число способов представить его в виде суммы четырех натуральных чисел: x = a + b + c + d, где a <= b <= c <= d.
Ввод:
натуральное число
Вывод:
количество разбиений
Решение, вылетающие по памяти:
import itertools n = int(input()) count = 0 sequence = [] rrange = list(range(1, n - (n // 3))) tools = ([i for i in itertools.combinations_with_replacement(rrange, 3) if sum(i) <= n - 1]) for i in tools: step = [] k = n - sum(i) if k > 0: step.append(sorted(i + (k, ))[:3]) if sequence.count(step) == 0: count += 1 sequence.append(step) print(count)