ScalaでProject Euler(144)

Problem 97

これはシェルピンスキー数というものを調べているときに発見された巨大素数らしいです。
多倍長整数を使えば、

println (((BigInt(1) << 7830457) * 28433 + 1) % 1e10.toLong)

これだけです。
しかし、いくらなんでもこれでは芸が無いので、64ビットの範囲で解きます。10桁で計算し、掛け算するときは5桁ごとに分けて計算します。簡単ですね。