等差数列の和が最大(最小)になるときの $n$ を観察するPythonコード
等差数列の和が最大や最小になるときの $n$ をPythonで観察してみよう。
等差数列の和と最大/最小の出力
等差数列を定義する。例えばseq
とする。
等差数列の和の数列のリストはlist(accumulate(seq))
で出力できる。例えばtotal
とする。
matplotlib.pyplot
のplot(total)
で等差数列の和の折れ線グラフを作成する。
max(total)
で等差数列の和の最大値を出力する。例えばmax_value
とする。
total.index(max_value)+1
で等差数列の和が最大を取る番号を出力する。
Pythonコード入力例. 初項 $221$, 公差 $-6$ の等差数列の和のグラフを作成し, 最大値と何項目であるかを出力する。
from itertools import accumulate
import matplotlib.pyplot as plt
a = 221
d = -6
n = 50 #何項目までのグラフを作成するか(調整する)
seq = [a + d * (i - 1) for i in range(1, n + 1)]
total = list(accumulate(seq))
plt.plot(total)
max_value = max(total)
index_max = total.index(max_value)+1
plt.show()
print(f"数列の和の最大値は n={index_max} のときの {max_value}")
