【每日一题0828】数字分区

:woman_mage:假设我们约定如下概念:一个数字n的数字分区是指由一串和值是n的正整数组成的列表,按递减的顺序排列。例如数字5 的所有分区是[5], [4,1], [3,2], [3,1,1], [2,2,1], [2,1,1,1], [1,1,1,1,1] ,总共有7种组合。我们的任务是编写一个python3函数,输入一个正整数n,返回其所有数字分区的总个数。

示例:
输入:5 ,输出:7 ,因为数字5 的分区有:[5], [4,1], [3,2], [3,1,1], [2,2,1], [2,1,1,1], [1,1,1,1,1]

题目难度:中等
题目来源:codewars

def partitions(n: int) -> int:
    pass

assert partitions(1) == 1
assert partitions(5) == 7
assert partitions(10) == 42
assert partitions(25) == 1958