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
 |