mirror of
https://github.com/jlengrand/project_euler.git
synced 2026-03-10 00:31:21 +00:00
25 lines
850 B
Python
25 lines
850 B
Python
#!/usr/bin/env python
|
|
'''
|
|
Created on 10 feb. 2012
|
|
|
|
@author: Julien Lengrand-Lambert
|
|
|
|
DESCRIPTION: Solves problem 97 of Project Euler
|
|
The first known prime found to exceed one million digits was discovered in 1999, and is a Mersenne prime of the form 2^6972593 - 1.
|
|
it contains exactly 2,098,960 digits. Subsequently other Mersenne primes, of the form 2^p - 1, 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 * 2^7830457 + 1.
|
|
|
|
Find the last ten digits of this prime number.
|
|
'''
|
|
def last_ten():
|
|
"""
|
|
Returns the last ten digits of 28433 * 2^7830457 + 1
|
|
"""
|
|
val = 28433 * pow(2, 7830457) + 1
|
|
return str(val)[-10:]
|
|
|
|
if __name__ == '__main__':
|
|
#print "Answer : %d " % (last_ten())
|
|
print pow(2, 7830457)
|