ゆるゆるプログラミング

・九九(くく)の表を作る2

九九(くく)の表は、1から9までの数字を互いに掛け合わせた数を一覧表にまとめたものです。1×1=1(いんいちがいち)から始まり、9×9=81(くくはちじゅういち)で終わります。

ここでは、掛け算を使わずに九九(くく)の表を作る方法を説明します。

ここから、掛け算を使わないで九九(くく)の一覧表を表示するJavaのソースコードを使って解説していきます。

MultiTable9_3.java ← クリックしてダウンロードページに移動
001:    public class MultiTable9_3 {
002:    	public static void main( String[] args ) {
003:    		// 九九の計算(掛け算を使わない)
004:    		for ( int i = 1; i <= 9; i ++ ) {
005:    			// mが掛け算の結果(初期値を0)
006:    			int m = 0;
007:    
008:    			//
009:    			for ( int j = 1; j <= 9; j ++ ) {
010:    				// mにiを足す
011:    				m = m + i;
012:    
013:    				// ' 'を表示
014:    				System.out.print( " " );
015:    
016:    				// 計算結果が1桁のとき、' 'を追加表示
017:    				if ( 10 > m ) 
018:    					System.out.print( " " );
019:    
020:    				// 掛け算の結果を表示
021:    				System.out.print( m );
022:    			}
023:    			// 改行
024:    			System.out.println();
025:    		}
026:    	}
027:    }

MultiTable9_3の出力結果

  1  2  3  4  5  6  7  8  9
  2  4  6  8 10 12 14 16 18
  3  6  9 12 15 18 21 24 27
  4  8 12 16 20 24 28 32 36
  5 10 15 20 25 30 35 40 45
  6 12 18 24 30 36 42 48 54
  7 14 21 28 35 42 49 56 63
  8 16 24 32 40 48 56 64 72
  9 18 27 36 45 54 63 72 81

003:    		// 九九の計算(掛け算を使わない)
004:    		for ( int i = 1; i <= 9; i ++ ) {

int型変数iで1から9までのループを作ります。このプログラムの場合、変数iは行数として使っていて1行目から9行目を表しています。

005:    			// mが掛け算の結果(初期値を0)
006:    			int m = 0;

掛け算の結果を格納する変数mに0を代入します。

009:    			for ( int j = 1; j <= 9; j ++ ) {
010:    				// mにiを足す
011:    				m = m + i;

int型変数jで1から9までのループを作ります。その中でmに変数iの値を足していきます。

これは、各行の隣り合った数字を比較したときに右の数字と左に数字の差は行数になっているからです。

それでは確認してみましょう。

例)1行目

   1 2 3 4 5 6 7 8 9

    2 - 1 = 1

    3 - 2 = 1

    4 - 3 = 1

    5 - 4 = 1

    6 - 5 = 1

    7 - 6 = 1

    8 - 7 = 1

    9 - 8 = 1

例)4行目

   4 8 12 16 20 24 28 32 36

     8 - 4 = 4

    12 - 8 = 4

    16 - 12 = 4

    20 - 16 = 4

    24 - 20 = 4

    28 - 24 = 4

    32 - 28 = 4

    36 - 32 = 4

1行目と4行目でそれぞれ右の数字と左の数字の差を計算すると、その差は行数と同じになっています。

013:    				// ' 'を表示
014:    				System.out.print( " " );

" "(半角スペース)を改行なしで表示します。

016:    				// 計算結果が1桁のとき、' 'を追加表示
017:    				if ( 10 > m ) 
018:    					System.out.print( " " );

掛け算の結果mが、10未満の場合に" "(半角スペース)を改行なしで表示します。この処理で、1桁の計算結果の2桁目を半角スペースで埋めることができ、綺麗に揃った表を作成することができます。

020:    				// 掛け算の結果を表示
021:    				System.out.print( m );

掛け算の結果mを表示します。

023:    			// 改行
024:    			System.out.println();

改行を表示します。

■関連コンテンツ

九九(くく)の表を作る 九九(くく)の表を作る方法を解説
九九(くく)の表を作る3 2次元配列で九九(くく)の表
計算結果の表示 四則演算(足し算/引き算/掛け算/割り算)について
for文 繰り返し処理に使用するfor文について解説

■新着情報

2020.07.08 公約数 公約数
2020.07.08 最大公約数 1番大きい約数は?
2020.06.18 3つの値の最大最小 3つの値の最大/最小値
2020.06.03 円を描く(テキスト版) テキストを円を描く
2020.06.02 文字の間違い探し どの文字が違う?

Topへ