paiza 累積和メニュー 区間の和 2 Python解説

スポンサーリンク

区間の和 2

10 個の整数 a_0, a_1, a_2, …, a_9 からなる数列 a が与えられます。
この数列の a_2 から a_7 までの和 (a_2 + a_3 + … + a_7) を、累積和を使うことで求め、一行で出力してください。

paizaラーニング「区間の和 2」

前回の問題「区間の和1」とは違い、今回の問題では10個の整数が入力から渡されます。あとは受け取った入力を使い累積和を求めていきます。

a = list(map(int, input().split()))

s = [0] * 11
s[0] = 0

for i in range(10):
    s[i + 1] = s[i] + a[i]
    
print(s[8] - s[2])

累積和を求める配列sを定義したらループを用いて、s[i + 1] = s[i] + a[i]とすることで、累積和を求めることができます。最後にa_2からa_7までの出力して完了です。