n = int(input())
result = [0 for _ in range(30)]
cnt = 0
def getResult(mySum, idx) :
if (mySum == n):
for i in range(idx):
if i <= idx-2:
print(result[i], end='+')
else:
print(result[i], end='')
print()
global cnt
cnt += 1
else:
myNumber = 0
if idx==0: myNumber = n-1
else: myNumber = n - mySum
for i in range(myNumber, 0, -1):
result[idx] = i
if(idx > 0 and result[idx-1] < result[idx]): continue
getResult(mySum+i, idx+1)
getResult(0, 0)
print(str(cnt))
이게 4를 입력받으면
3+1
2+2
2+1+1
1+1+1+1
4
이렇게 출력되는데
4입력받으면
2+2
2+1+1
1+2+1
1+1+2
1+1+1+1
5개
이렇게 1,2만으로 하고 순서도 바뀌게 하고 싶은데 어떻게 해야 할까요
이건 어떰?
https://ideone.com/nVwQOh