blob: a2f3f91d4bb7085f11faf885f02ec060f9b5b189 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
-- Large non-Mersenne prime
--
-- Problem 97
-- 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.
-- this must be a nightmare in C
main = putStrLn $ lastN 10 (show (28433 * 2 ^ 7830457 + 1))
lastN :: Int -> [a] -> [a]
lastN n xs = drop (length xs - n) xs
|