2021.04.22

1, 2, 3 더하기

정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.
1+1+1+1
1+1+2
1+2+1
2+1+1
2+2
1+3
3+1

정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오.


/**
* n = 1     1    
*     2     2    
*     3     4
*     4     7
*
* d[n] = d[n-3] + d[n-2] + d[n-1]
*/

T = int(input())

d = [1, 2, 4]

for i in range (3, 10):
  d.append(d[i-3] + d[i-2] + d[i-1])

for i in range(T):
  n = int(input())
  print(d[n-1])



Discussion and feedback