132 Large repunit factors.jl 772 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/usr/bin/julia
  2. # Daniel "Trizen" Șuteu
  3. # License: GPLv3
  4. # Date: 14 May 2017
  5. # https://github.com/trizen
  6. # https://projecteuler.net/problem=132
  7. # Runtime: 6 min, 14 sec
  8. using Primes
  9. function p_132()
  10. count = 40
  11. n = 10^9
  12. p = 1
  13. t = 0
  14. while true
  15. p += 1
  16. isprime(p) || continue
  17. gcd(n, p) == 1 || continue
  18. sum = 0
  19. period = 0
  20. for k in 0:p
  21. sum += powermod(10, k, p)
  22. sum %= p
  23. period += 1
  24. sum == 0 && break
  25. end
  26. if (sum == 0 && n % period == 0)
  27. t += p
  28. println("[$count] $p is a prime factor -> $t")
  29. count -= 1
  30. count == 0 && break
  31. end
  32. end
  33. return t
  34. end
  35. println(p_132())