DP (動的計画法)について

今回説明する問題

N個の数字A0,A1,...An-1が横一列にあります。
それぞれは以下の条件を満たすことがわかっています。
・A0はXである
・A1はYである
・以降の値は、前2つの数字を足して割った余りと等しい
An-1を求めなさい。
URL: https://algo-method.com/tasks/302

簡単な説明

1.今回の舞台となる配列を作成する
2.X,Yを取得し、配列に入れる。
3.1つずつ求めていく

コード

# 入力
N, X, Y = map(int, input().split())

# 計算の舞台となる配列を宣言
A = [0] * N

# 初期値を定める
A[0], A[1] = X, Y

# 順に計算していく
for i in range(2, N):
   A[i] = (A[i-2] + A[i-1]) % 100

print(A[-1])

この記事が気に入ったらサポートをしてみませんか?