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

・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の和が正しく出力されています。

以上です。

■関連コンテンツ

数学関数について 数学関数について解説
四則演算(足し算/引き算/掛け算/割り算)について-画像

計算結果の表示

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

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

for文

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

■新着情報

2020.11.11 正確な割合のノイズ画像 正確な割合のノイズ画像を作成する方法を解説
2020.11.02 2進数を整数に変換 "11001"→25
2020.10.29 文字数字を数値に変換 "12345"→12345
2020.10.28 1からNの和 1+2+3+ … +N=?
2020.10.21 画像の上下反転 画像を上下反転する方法
2020.10.19 指定色の画素数取得 指定RGBの画素数は何個?
2020.10.13 2値化 その2 2値のBMP画像を作成
2020.10.07 3辺の長さで三角形かを判定 3辺abcで三角形が作れるか?
2020.10.06 画像のミラー反転 画像をミラー(鏡)反転する方法

■広告

フィギュア予約最大25%OFF+ポイント5%還元!ホビーサーチ

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

Topへ