数値操作

Java – 1から100までの和(合計値)を計算する方法をわかりやすく解説

1から100までの和を計算するには、ガウスの方法を使うと効率的です。

この方法では、数列の最初の数と最後の数を足し、その結果に数列の項数を掛けて2で割ります。

具体的には、1から100までの和は次の式で求められます:

\[\text{和} = \frac{n \times (n + 1)}{2}\]

ここで、\(n = 100\)なので、\(\text{和} = \frac{100 \times (100 + 1)}{2} = 5050\)。

Javaでは、forループを使って1から100までの数を順に足し合わせる方法もありますが、上記の数式を直接使う方が簡潔で高速です。

Javaで1から100までの和を計算する方法

Javaでは、1から100までの合計値を計算する方法はいくつかあります。

ここでは、代表的な方法をいくつか紹介します。

for文

for文を使って1から100までの和を計算する方法です。

シンプルで直感的な方法です。

public class App {
    public static void main(String[] args) {
        int sum = 0; // 合計値を格納する変数
        // 1から100までの和を計算
        for (int i = 1; i <= 100; i++) {
            sum += i; // iを合計値に加算
        }
        // 結果を表示
        System.out.println("1から100までの和: " + sum);
    }
}
1から100までの和: 5050

while文

while文を使って同様の計算を行う方法です。

条件に基づいてループを続けるため、柔軟性があります。

public class App {
    public static void main(String[] args) {
        int sum = 0; // 合計値を格納する変数
        int i = 1; // カウンタ変数
        // 1から100までの和を計算
        while (i <= 100) {
            sum += i; // iを合計値に加算
            i++; // カウンタをインクリメント
        }
        // 結果を表示
        System.out.println("1から100までの和: " + sum);
    }
}
1から100までの和: 5050

do-while文

do-while文を使った場合の例です。

少なくとも1回はループが実行される点が特徴です。

public class App {
    public static void main(String[] args) {
        int sum = 0; // 合計値を格納する変数
        int i = 1; // カウンタ変数
        // 1から100までの和を計算
        do {
            sum += i; // iを合計値に加算
            i++; // カウンタをインクリメント
        } while (i <= 100);
        // 結果を表示
        System.out.println("1から100までの和: " + sum);
    }
}
1から100までの和: 5050

Stream API

Java 8以降で利用可能なStream APIを使った方法です。

より宣言的なスタイルで記述できます。

import java.util.stream.IntStream;
public class App {
    public static void main(String[] args) {
        // 1から100までの和を計算
        int sum = IntStream.rangeClosed(1, 100) // 1から100までの範囲を生成
                           .sum(); // 合計を計算
        // 結果を表示
        System.out.println("1から100までの和: " + sum);
    }
}
1から100までの和: 5050

ガウスの式

数学的なアプローチとして、ガウスの式を使った方法です。

1からnまでの和は、\(\frac{n(n + 1)}{2}\)で計算できます。

public class App {
    public static void main(String[] args) {
        int n = 100; // 上限値
        // ガウスの式を使って合計を計算
        int sum = n * (n + 1) / 2;
        // 結果を表示
        System.out.println("1から100までの和: " + sum);
    }
}
1から100までの和: 5050

reduceメソッド

Stream APIのreduceメソッドを使った方法です。

合計を計算するための強力な手法です。

import java.util.stream.IntStream;
public class App {
    public static void main(String[] args) {
        // 1から100までの和を計算
        int sum = IntStream.rangeClosed(1, 100) // 1から100までの範囲を生成
                           .reduce(0, Integer::sum); // 合計を計算
        // 結果を表示
        System.out.println("1から100までの和: " + sum);
    }
}
1から100までの和: 5050

まとめ

この記事では、Javaを使って1から100までの和を計算するさまざまな方法を紹介しました。

for文、while文、do-while文、Stream API、ガウスの式、reduceメソッドといった手法を通じて、異なるアプローチの特徴や利点を理解することができました。

これらの方法を活用して、他の数値範囲や異なる計算にも挑戦してみると良いでしょう。

関連記事

Back to top button