(プログラミングに興味のない方は表計算ソフト編へ)
先日はC言語の場合を紹介しましたが、C言語が手元にない(あるいは、あるけど使うのが面倒)な方のためにbashあるいはzshの場合を紹介しましょう。こんな感じです。
a=25165824; b=33554432; c=37748736; echo $((a**3+b**3-c**3))
bashの整数は64ビット。演算の結果がその範囲から出ると、Mod[x, 2^64, -2^63]みたいなことになります。ですから、結果が2^64の倍数になるはずの演算の結果は全部0になります。冪が3なら、2^22の倍数を使えばいいわけです。
C言語の整数は32ビットで、演算の結果がその範囲を出たときの振る舞いは、bashの場合と同様です(少なくともcodepadは)。ですから、結果が2^32の倍数になるような演算を用意すればよかったのですが、こんなのは見るからにウソなので、先日は別の方法を使いました。
フェルマーの最終定理自体に興味がある場合には、ちょうど文庫になった藤原正彦『天才の栄光と挫折―数学者列伝』の最終章(ワイルズ)が、コンパクトにまとまっているのでお勧めです。
コメントする