BOJ 9461波半数列


https://www.acmicpc.net/problem/9461
時間1秒、メモリ128 MB
input :
  • T
  • N (1 ≤ N ≤ 100)
  • output :
  • P(N)出力
  • 条件:
  • 波数の半数列P(N)は螺旋上の正三角形の辺の長さである.P(1)からP(10)までの最初の10の数字は、1、1、2、2、3、4、5、7、9である.
  • の先頭にある

    このようなルールのようです.
    私は5歳より年上です.(繰り返し文は5から始まる)
    dp[i] = dp[i - 5] + dp[i - 1]
    import sys
    
    dp = [0 for i in range(101)]
    dp[1], dp[2], dp[3] = 1, 1, 1
    dp[4], dp[5] = 2, 2
    
    for i in range(6, 101):
        dp[i] = dp[i - 5] + dp[i - 1]
    
    T = int(sys.stdin.readline())
    for i in range(T):
        N = int(sys.stdin.readline())
        print(dp[N])