0
0

More than 1 year has passed since last update.

累積和(記述 python)

Last updated at Posted at 2023-04-28

■ 前提条件

値:1,5,9,7,5,3,2,5,8,4

出力:[2:7]の区間の値を出す

● 非累積和で実装

# === 非累積和
tmp = []
arr = [1,5,9,7,5,3,2,5,8,4]
for i in range(2, 8):
    tmp_i = arr[i]
    tmp.append(tmp_i)
    
print(sum(tmp)) # 31を出力

● 累積和で実装

###### ============= 累積和

arr = [1,5,9,7,5,3,2,5,8,4] # 10個要素 
s = [0] * 11 # arr より1つ多い 配列要素を作成する

for i in range(10):
    s[i + 1] = s[i] + arr[i]
    
# 累積和 同士で 演算して解を出す
print(s[8] - s[2]) # s[8] 37 - s[2] 6 = 31 

● 累積和ループ表


ループ回数 , 配列sの値 , 配列aの値
0: s0 0 | a0 1

1: s1 1 | a1 5

2: s2 6 | a2 9

3: s3 15 | a3 7

4: s4 22 | a4 5

5: s5 27 | a5 3

6: s6 30 | a6 2

7: s7 32 | a7 5

8: s8 37 | a8 8

9: s9 45 | a9 4

10: s10 49 |


0
0
1

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