P2404 自然数的拆分问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
思路记录:
这道题是一道简单的DFS。
n = int(input())
data = [0 for _ in range(110)]
def dfs(sum, p, cnt):
if sum>n:
return
if sum == n:
print(data[0],end='')
for i in range(1,cnt):
print(f'+{data[i]}',end='')
print('\n',end='')
for i in range(p,n):
data[cnt] = i
dfs(sum+i, i, cnt+1)
dfs(0,1,0)