【Python】1から100まで、1から1000までの和を計算する方法
Pythonで1から100までの和、1から1000までの和を計算する方法
for文の基本
Pythonのfor文は、指定された範囲内の要素を順番に処理するために使用されます。最も基本的な構文は次の通りです。
for i in range(start, stop, step):
# 繰り返し処理する内容
ここで、range()
関数は繰り返しを行う範囲を指定します。例えば、range(1, 101)
は1から100までの整数を生成します。
次のコードは、1から10までの数値を順番に出力する例です。
for i in range(1, 11):
print(i)
出力は次のようになります:
1
2
3
4
5
6
7
8
9
10
1から100までの和の計算
次に、for文を使って1から100までの数値の和を計算してみましょう。
この問題を解決するためには、1から100までの数値を順番に加算する必要があります。以下のように実装できます:
total = 0
for i in range(1, 101):
total += i
print(total)
このコードは、range(1, 101)
で1から100までの数値を生成し、それらを一つずつ加算しています。最終的なtotal
には、1から100までの和が格納されます。
出力は次の通りです:
5050
1から1000までの和の計算
次に、1から1000までの数値の和を計算してみましょう。これも同様にfor文を使って計算できます。
total = 0
for i in range(1, 1001):
total += i
print(total)
このコードは、range(1, 1001)
で1から1000までの数値を生成し、それらを順番に加算しています。
出力は次の通りです:
500500
最適化された方法
1から100や1から1000までの和を計算する場合、for文を使う方法以外にも、より効率的な方法があります。例えば、数学的な公式を使って和を計算する方法です。
1からnまでの和は次の公式で計算できます:
和 = n * (n + 1) / 2
これを使うと、1から100までの和は次のように計算できます:
n = 100
total = n * (n + 1) // 2
print(total)
この方法は、for文を使うよりも計算が高速で、特にnが大きい場合に有効です。
同様に、1から1000までの和も公式を使って計算できます:
n = 1000
total = n * (n + 1) // 2
print(total)
公式を使った場合の出力も次の通りです:
500500
for文を使う方法は理解を深めるために有用ですが、大規模なデータに対しては公式を使用することが効率的です。