Solution to problem 26 in Julia
This commit is contained in:
parent
5b7564425a
commit
a379dbe4b2
53
src/Julia/Problem026.jl
Normal file
53
src/Julia/Problem026.jl
Normal file
@ -0,0 +1,53 @@
|
||||
#=
|
||||
Created on 16 Aug 2021
|
||||
|
||||
@author: David Doblas Jiménez
|
||||
@email: daviddoji@pm.me
|
||||
|
||||
Solution for Problem 26 of Project Euler
|
||||
https://projecteuler.net/problem=26
|
||||
=#
|
||||
|
||||
function Problem26()
|
||||
#=
|
||||
A unit fraction contains 1 in the numerator. The decimal representation
|
||||
of the unit fractions with denominators 2 to 10 are given:
|
||||
|
||||
1/2 = 0.5
|
||||
1/3 = 0.(3)
|
||||
1/4 = 0.25
|
||||
1/5 = 0.2
|
||||
1/6 = 0.1(6)
|
||||
1/7 = 0.(142857)
|
||||
1/8 = 0.125
|
||||
1/9 = 0.(1)
|
||||
1/10 = 0.1
|
||||
|
||||
Where 0.1(6) means 0.166666..., and has a 1-digit recurring cycle.
|
||||
It can be seen that 1/7 has a 6-digit recurring cycle.
|
||||
|
||||
Find the value of d < 1000 for which 1/d contains the longest recurring
|
||||
cycle in its decimal fraction part.
|
||||
=#
|
||||
cycle_length = 0
|
||||
number_d = 0
|
||||
for number in 3:2:999
|
||||
if number % 5 == 0
|
||||
continue
|
||||
end
|
||||
p = 1
|
||||
while (big(10)^p % number) != 1
|
||||
p += 1
|
||||
end
|
||||
if p > cycle_length
|
||||
cycle_length, number_d = p, number
|
||||
end
|
||||
end
|
||||
return number_d
|
||||
end
|
||||
|
||||
|
||||
println("Time to evaluate Problem 26:")
|
||||
@time Problem26()
|
||||
println("")
|
||||
println("Result for Problem 26: ", Problem26())
|
Loading…
x
Reference in New Issue
Block a user