2020/10/28 公開
・1からNの和
1からnの全ての自然数の和を計算するプログラムの作り方を説明します。ここでは、1から順番に値を足していく方法と、自然数の和の公式を使う方法の2つを紹介します。
①1から順番にnまで足していく方法
for文を使って1からnの値を足していきます。以下はソースコードの例です。
int n = 10; int sum = 0; for ( int i = 1; i <= n; ++ i ) sum = sum + i;
以下は、for文を使って和を計算するJavaソースコードです。変数nの値を変えて結果を確認してみてください。
Sum01.java ← クリックしてダウンロードページに移動001: public class Sum01 { 002: public static void main( String[] args ) { 003: // 足す値の最大値nの値を格納する変数 004: int n = 10; 005: 006: // 1からnを足した値を計算 007: int sum = 0; 008: for ( int i = 1; i <= n; ++ i ) 009: sum = sum + i; 010: 011: // 結果を表示 012: System.out.println( "1~" + n + "の和 : " + sum ); 013: } 014: }
Sum01を実行
C:\talavax\javasample>java Sum01
実行結果
1~10の和 : 55
1から10の和が正しく出力されています。(1+2+3+4+5+6+7+8+9+10=55)
②自然数の和の公式を使う方法
1からnの和は、n(n+1)/2という式で計算できます。これが和の公式です。
この式を利用すれば、1回の計算で和を求めることができます。nの値が大きすぎると計算結果がint型に収まらないことがあります。計算するnの値が大きい場合は、long型の変数で計算してください。
以下は、和の公式を使って和を計算するJavaソースコードです。変数nの値を変えて結果を確認してみてください。nの値に1未満を指定した場合、和を0にしています。
Sum02.java ← クリックしてダウンロードページに移動
001: public class Sum02 { 002: public static void main( String[] args ) { 003: // 足す値の最大値nの値を格納する変数 004: int n = 10; 005: 006: // 合計値を格納する変数 007: int sum; 008: 009: // 和の公式で、1からnを足した値を計算 010: if ( 1 > n ) 011: sum = 0; 012: else 013: sum = n * ( n + 1 ) / 2; 014: 015: // 結果を表示 016: System.out.println( "1~" + n + "の和 : " + sum ); 017: } 018: }
Sum02を実行
C:\talavax\javasample>java Sum02
実行結果
1~10の和 : 55
for文で計算した結果同様、1から10の和が正しく出力されています。
以上です。
■関連コンテンツ
和の公式 | 1+2+3+…+n=? |
和の公式 その2 | 1+2+3+…+n=? |
数学関数について | 数学関数について解説 |
■新着情報
2021.12.21 | 現在の日時を取得 | いまの年月日、時分秒? |
■広告
