###前提・実現したいこと
ここに質問したいことを詳細に書いてください
10000までの偶数で、
最初に3を掛けてプラス1をして、
その後、3を掛けてプラス1と2で割るを交互に行った時に、
元の偶数に戻る数が何個あるか調べるプログラムを作ってます。
###発生している問題・エラーメッセージ
if文のbreakが実行されず、while文が無限ループになってしまう。
計算してみると、
i=j になっているはずなんですがうまくいきません。
基本的な事で申し訳ございません。
分かる方がいらっしゃいましたら、お教えください。
宜しくお願い致します。
###該当のソースコード
package algopazzul;
public class nyuumon_4 {
public static void main(String[] args) { int count = 0; for(int i=2;i<10001;i=i*2){ int j; j=i*3+1; while(j!=1){ int k = 1; if(k%2==1){ j=j*3+1; }else{ j=j/2; } k++; System.out.println("2"); if(i==j){ count++; System.out.println("1"); break; } } } System.out.println("10000までで、最初に戻る数は"+count+"個ありました。");
}
}
###試したこと
###補足情報(言語/FW/ツール等のバージョンなど)
回答2件
あなたの回答
tips
プレビュー