0
0

paizaラーニング問題集「階段の上り方2」を解いてみた

Posted at

▼感想:

問題文に
「n, a, b の値によっては答えが0になることがある」
と書かれていたので、
0になる場合を考えif,elifでコーディングしました。
しかし、解答コード例はそうコーディングされていませんでした。
もう少し、理解を深めたいと思います。

▼コード:

########## 処理0(準備) インプット,リスト定義など ###########

n,a,b = map(int,input().split())

########## 処理1 漸化式の定義、計算、出力 ##########

if a > n and b > n:

    print(0)
    
elif a > n:

    if n % b != 0:
        print(0)
    elif n % b == 0:
        print(1)

elif b > n:

    if n % a != 0:
        print(0)
    elif n % a == 0:
        print(1)

else:

    dp = [0]*(40+1)
    
    dp[0] = 1
    
    for i in range(1,n+1):
        if i >= a:
            dp[i] += dp[i-a]
        if i >= b:
            dp[i] += dp[i-b]

    print(dp[n])
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0