Project Euler 97

Project Euler 97

题目

Large non-Mersenne prime

The first known prime found to exceed one million digits was discovered in 1999, and is a Mersenne prime of the form 269725931; it contains exactly 2,098,960 digits. Subsequently other Mersenne primes, of the form 2p1, have been found which contain more digits.

However, in 2004 there was found a massive non-Mersenne prime which contains 2,357,207 digits: 28433×27830457+1.

Find the last ten digits of this prime number.

解决方案

使用 python 中的 pow 直接计算。

代码

1
2
3
4
5
a = 7830457
b = 28433
mod = 10 ** 10
ans = (pow(2, a, mod) * b + 1) % mod
print("{:010}".format(ans))
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
Ujimatsu Chiya 微信 微信
Ujimatsu Chiya 支付宝 支付宝