JScript+WSHでプログラミング基礎100本ノック その39 実践4 コラッツ予想
その39 コラッツ予想
課題
コラッツ予想は、
どんな正の整数に対しても、
・偶数なら2で割る
・奇数なら3倍して1を足す
の操作を繰り返したら必ず1になる
といったものです。
これを実装し、数字がどのように変化していくか出力してください。
また、調べる数は123456789とします
コード例
main.js
--------
var num = 123456789; // 調べる数
var cnt = 0; // 処理回数
while(true){
WScript.echo(cnt + " : " + num);
cnt++;
if(num == 1){
break;
}else if(num % 2 == 0){
num = num /2;
}else if(num % 2 == 1){
num = num * 3 + 1;
}else{
WScript.echo("正の整数を指定してください");
break;
}
}
出力結果
0 : 123456789
1 : 370370368
2 : 185185184
3 : 92592592
4 : 46296296
5 : 23148148
6 : 11574074
7 : 5787037
8 : 17361112
9 : 8680556
略
169 : 40
170 : 20
171 : 10
172 : 5
173 : 16
174 : 8
175 : 4
176 : 2
177 : 1
続行するには何かキーを押してください . . .
この記事が気に入ったらサポートをしてみませんか?