Euler published the remarkable quadratic formula:
n² + n + 41
It turns out that the formula will produce 40 primes for the consecutive values n = 0 to 39. However, when n = 40, 402 + 40 + 41 = 40(40 + 1) + 41 is divisible by 41, and certainly when n = 41, 41² + 41 + 41 is clearly divisible by 41.
Using computers, the incredible formula n² 79n + 1601 was discovered, which produces 80 primes for the consecutive values n = 0 to 79. The product of the coefficients, 79 and 1601, is 126479.
Considering quadratics of the form:
n² + an + b, where |a| 1000 and |b| 1000where |n| is the modulus/absolute value of n
e.g. |11| = 11 and |4| = 4
Find the product of the coefficients, a and b, for the quadratic expression that produces the maximum number of primes for consecutive values of n, starting with n = 0.
(defun primep (n)
(cond ((minusp n) 'nil)
((= 2 n) t)
((evenp n) 'nil)
((= 1 n) 'nil)
(t (let ((limit (floor (sqrt n))))
(do ((i 3 (incf i 2)))
((> i limit) t)
(if (= 0 (mod n i)) (return-from primep 'nil)))))))
(defun ConsecutivePrime(i j)
(let ((num 0))
(loop for k from 0 to 1000
do(if (null (primep (+ (* k k) (+ j (* i k)))))
(return num)
(incf num)))
num))
(defun Euler27()
(let ((currenta 0)
(currentb 0)
(maxnum 0))
(loop for a from -998 to 999
do(loop for b from 1 to 999
do(let ((currentaccount (ConsecutivePrime a b)))
(if (progn (> currentaccount maxnum))
(progn (setq currenta a)
(setq currentb b)
(setq maxnum currentaccount))))))
(* currentb currenta)))
No comments:
Post a Comment