等差数列の和の公式は
S = 1/2*n(a + l)
これは基本中の基本でしょう。
pythonで表現します。
範囲の足し算
sum = 0 for i in range(1, 100): sum += i print(sum)
[vagrant@localhost python]$ python myapp.py
4950
forでなく、sumを使う場合
n =99 print(sum(range(1, n + 1)))
[vagrant@localhost python]$ python myapp.py
4950
答えは同じです
公式を使う場合
def sn(a, lim): n = int(lim) / a l = n * a return (a + l) * n / 2 print(sn(3,999))
[vagrant@localhost python]$ python myapp.py
166833.0
公式でもできるが、rangeやsumでできてしまうって事ね。
ただ、これ、気象計算や原子力など計算量が大きくなった場合に何が一番早いかってところだな。