Javaプログラミング学習サイト ゆるゆるプログラミング

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文を終了したときの変数sumの値が和です。

 以下は、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=?
数学関数について 数学関数について解説
四則演算(足し算/引き算/掛け算/割り算)について-画像

計算結果の表示

足し算(加法)/引き算(減法)/掛け算(乗法)/割り算(除法)の使い方を説明

繰り返し処理に使用するfor文について解説-画像

for文

繰り返し処理に使用するfor文をJavaのソースコードを使って説明しています。

■新着情報

2021.08.04 書式指定でコンソール出力 printf()とは?

■広告

Topへ