This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
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| < 1000
where |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.
This is weird, the code I wrote is very simple, it gives correct answers for a = 1 b = 41 and a=-79 b = 1601 but when I run it to find the largest number of consecutive primes, I get 1011 consecutive prime numbers when a = -999 and b = 61 making the product -60939 but this is turning out to be the wrong answer... anyone can find me an error in the code?
Well, look at the "prime" numbers generated by the formula when a = -999 and b = 61. What do you get when n = 0? n = 1? n = 2? Are all those numbers prime? If not, how can you modify the isPrime() method to correctly identify whether a number is prime or not?