From a379dbe4b230047a19676266ad75c1205fee426b Mon Sep 17 00:00:00 2001 From: daviddoji Date: Mon, 16 Aug 2021 20:25:12 +0200 Subject: [PATCH] Solution to problem 26 in Julia --- src/Julia/Problem026.jl | 53 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/Julia/Problem026.jl diff --git a/src/Julia/Problem026.jl b/src/Julia/Problem026.jl new file mode 100644 index 0000000..160ccc4 --- /dev/null +++ b/src/Julia/Problem026.jl @@ -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())