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])
この記事が気に入ったらサポートをしてみませんか?