コラッツ予想、最新9
検証結果からより精度が高くなるように修正
この証明法は単純な数式では理解できないだろう。
1回演算したあとから始まる。
1回目は大幅に桁上がりしてしまうため1つのビットだけに着目することができないからだ。
さらに
-1
として最下ビットを0にしておく
初期値を
(3m+1)/(2^r)-1
とするのである
次に1つのビットのみ着目する
mは事前に1引いてあるから
n=(3/4)m+4/3
であるから演算をq回繰り返せば
n=(((3/4)^q)m+1/3+q)/(2^r)
2進数で小数部が正確に保持できないため、実際の計算では1×3/4は1になるため、近似することで精度があがる
4で割れるのは最下位ビットが0だからである
0は何分割しても0のビット列なので
通常の演算で2ビットずつしか繰り上がっていかないことから明白である
mの増加が
q>=3
になれば繰り上がることになる
右辺は固定値で左辺は発散するから有限回の演算で繰り上がることがわかる
同様に次のビットも
q>=3(2^1)
と続ける
ビットが1でも間はすべて0なので同様にする
正確に計算しようとすれば1の分だけ回数は減ることになる
これを補数式では事前に(not)mとして引いていた
最上位ビットは3倍で1.5桁あがるので
初期値がz+1ビットなら
zが繰り上がりをしている場合
q>=3(2^(z-1))
または
zが繰り上がらない場合
q>=3(2^z)
となるまで計算すれば
mがALL1=2^x-1となって最初にー1してあることから1に収束したことになる
1のビットの場合も計算する必要があった
ビット間隔が2^rではなく初回分の3だったので訂正




