32 lines
		
	
	
		
			880 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			880 B
		
	
	
	
		
			Factor
		
	
	
! 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
 |