Solution to Project Euler problem 97
parent
e36bddd91c
commit
84ee9b159a
|
@ -0,0 +1,31 @@
|
|||
! Copyright (c) 2008 Aaron Schaefer.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: math math.functions ;
|
||||
IN: project-euler.097
|
||||
|
||||
! http://projecteuler.net/index.php?section=problems&id=97
|
||||
|
||||
! DESCRIPTION
|
||||
! -----------
|
||||
|
||||
! 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 2p − 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.
|
||||
|
||||
|
||||
! SOLUTION
|
||||
! --------
|
||||
|
||||
: euler097 ( -- answer )
|
||||
2 7830457 10 10 ^ ^mod 28433 * 10 10 ^ mod 1+ ;
|
||||
|
||||
! [ euler097 ] 100 ave-time
|
||||
! 0 ms run / 0 ms GC ave time - 100 trials
|
||||
|
||||
MAIN: euler097
|
|
@ -13,8 +13,8 @@ USING: definitions io io.files kernel math math.parser project-euler.ave-time
|
|||
project-euler.033 project-euler.034 project-euler.035 project-euler.036
|
||||
project-euler.037 project-euler.038 project-euler.039 project-euler.040
|
||||
project-euler.041 project-euler.042 project-euler.048 project-euler.052
|
||||
project-euler.067 project-euler.075 project-euler.134 project-euler.169
|
||||
project-euler.173 project-euler.175 ;
|
||||
project-euler.067 project-euler.075 project-euler.097 project-euler.134
|
||||
project-euler.169 project-euler.173 project-euler.175 ;
|
||||
IN: project-euler
|
||||
|
||||
<PRIVATE
|
||||
|
|
Loading…
Reference in New Issue