[白俊]9095:1,2,3加


質問する



再帰概念


1.2.3で数値を選択した場合は、1.2.3で数値を選択します.
この数の和の場合、==数を選択するたびにその数から減算され、残りが0の場合はcountを上げる必要があります.

に答える

import sys

t = int(sys.stdin.readline())
count = 0
def sol(n):
    count = 0
    if n == 0:
       return 1 # 합이 되면 return 1
    if n < 0:
        return 0 # 합이 되지 않으면 return 0
    for i in range(1, 4):
        count += sol(n-i) # count에 계속 쌓이고 마지막에 count를 return 해줌
    return count

for i in range(t):
    a = int(sys.stdin.readline())
    print(sol(a))

草。

import sys

t = int(sys.stdin.readline())
count = 0
def sol(n):
    global count
    if n == 0:
       count += 1
    if n < 0:
        return
    for i in range(1, 4):
        sol(n-i) # 1, 2, 3을 선택하고 빼줌

for i in range(t):
    a = int(sys.stdin.readline())
    sol(a)
    print(count)