等差数列の和が最大(最小)になるときの $n$ を観察するPythonコード

等差数列の和が最大や最小になるときの $n$ をPythonで観察してみよう。

等差数列の和と最大/最小の出力

等差数列を定義する。例えばseqとする。

等差数列の和の数列のリストはlist(accumulate(seq))で出力できる。例えばtotalとする。

matplotlib.pyplotplot(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}")

コメントを残す