Solution to problem 27 in Julia
This commit is contained in:
parent
a379dbe4b2
commit
cfcbd05559
61
src/Julia/Problem027.jl
Normal file
61
src/Julia/Problem027.jl
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
#=
|
||||||
|
Created on 19 Aug 2021
|
||||||
|
|
||||||
|
@author: David Doblas Jiménez
|
||||||
|
@email: daviddoji@pm.me
|
||||||
|
|
||||||
|
Solution for Problem 27 of Project Euler
|
||||||
|
https://projecteuler.net/problem=27
|
||||||
|
=#
|
||||||
|
|
||||||
|
using Primes
|
||||||
|
|
||||||
|
function Problem27()
|
||||||
|
#=
|
||||||
|
Euler discovered the remarkable quadratic formula:
|
||||||
|
|
||||||
|
n^2 + n + 41
|
||||||
|
|
||||||
|
It turns out that the formula will produce 40 primes for the consecutive
|
||||||
|
integer values 0≤n≤39. However, when n=40, 40^2+40+41=40(40+1)+41 is
|
||||||
|
divisible by 41, and certainly when n=41,41^2+41+41 is clearly divisible
|
||||||
|
by 41.
|
||||||
|
|
||||||
|
The incredible formula n^2−79n+1601 was discovered, which produces 80
|
||||||
|
primes for the consecutive values 0≤n≤79. The product of the coefficients,
|
||||||
|
−79 and 1601, is −126479.
|
||||||
|
|
||||||
|
Considering quadratics of the form:
|
||||||
|
|
||||||
|
n^2 + an + b
|
||||||
|
|
||||||
|
where |a|<1000, |b|≤1000 and |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.
|
||||||
|
=#
|
||||||
|
LIMIT = 1000
|
||||||
|
consecutive_values = 0
|
||||||
|
c = 0
|
||||||
|
for a in -999:LIMIT-1
|
||||||
|
for b in 0:LIMIT
|
||||||
|
n = 0
|
||||||
|
while isprime((n^2) + (a * n) + b)
|
||||||
|
n += 1
|
||||||
|
if n > consecutive_values
|
||||||
|
consecutive_values = n
|
||||||
|
c = a * b
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return c
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
println("Time to evaluate Problem 27:")
|
||||||
|
@time Problem27()
|
||||||
|
println("")
|
||||||
|
println("Result for Problem 27: ", Problem27())
|
Loading…
x
Reference in New Issue
Block a user