JScript+WSHでプログラミング基礎100本ノック その36 実践1 掛け算九九の表

その36 掛け算九九の表

課題

下記の例のような掛け算九九の表を出力してください。
※表になっていればなんでもOKです。

 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

コード例

main.js
--------

var str;
for(var i = 1; i < 10; i++){
	str = "";
	for(var j = 1; j < 10; j++){
		str += " " + i * j;
	}
	WScript.echo(str);
}

出力結果

 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
続行するには何かキーを押してください . . .

解説

for文の中にfor文がある文は2重ループと呼ばれます。
3重ループまでは間でに見ますが、基本的にループの入れ子はあまり良くないといわれています。(指数関数的に処理がふえるので)
また、イテレータはi, j, kと使っていく文化もあります。

また、桁のずれは下記のようなコードで解決できます。(後述する文字列処理の話になります)

var str;
for(var i = 1; i < 10; i++){
	str = "";
	for(var j = 1; j < 10; j++){
		str += ("  " + i * j).slice(-3);
	}
	WScript.echo(str);
}
  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
続行するには何かキーを押してください . . .

この記事が気に入ったらサポートをしてみませんか?