2012-02-15 ScalaでProject Euler(144) Scala Problem 97これはシェルピンスキー数というものを調べているときに発見された巨大素数らしいです。 多倍長整数を使えば、 println (((BigInt(1) << 7830457) * 28433 + 1) % 1e10.toLong) これだけです。 しかし、いくらなんでもこれでは芸が無いので、64ビットの範囲で解きます。10桁で計算し、掛け算するときは5桁ごとに分けて計算します。簡単ですね。