teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2016/05/17 08:54

投稿

takito
takito

スコア3116

answer CHANGED
@@ -1,3 +1,19 @@
1
1
  `int k = 1;`
2
2
  の場所はあってますか?
3
- whileの中にあるので常に`k`は`1`で初期化されて`j=j/2;`の計算に入らないような
3
+ whileの中にあるので常に`k`は`1`で初期化されて`j=j/2;`の計算に入らないような
4
+
5
+ (追記)
6
+ そもそも、このロジックはうまくいきますか?
7
+
8
+ ・jにiの3倍+1した値を入れる
9
+ ・kに1を入れる
10
+ ・jが1ではない間ループする
11
+ ・・kが奇数ならjを3倍+1した値にする
12
+ ・・kが偶数ならjを半分にする
13
+ ・・kを1増やす
14
+ ・・iとjが一致したらループを抜ける
15
+
16
+ jは、3倍と半分を繰り返しているので、どんどん増えていきます
17
+ jはiより大きい値からスタートしているので、iに近づくことがないような・・・
18
+
19
+ ぜんぜん的外れなことを言っていたらごめんなさい