A number consisting entirely of ones is called a repunit. We shall define R(k) to be a repunit of length k; for example, R(6) = 111111.
Given that n is a positive integer and GCD(n, 10) = 1, it can be shown that there always exists a value, k, for which R(k) is divisible by n, and let A(n) be the least such value of k; for example, A(7) = 6 and A(41) = 5.
The least value of n for which A(n) first exceeds ten is 17.
Find the least value of n for which A(n) first exceeds one-million.
My Solution
(defun A(n)
(let ((reminder 1)
(Ncount 1))
(loop
(progn (if (/= (gcd 10 n) 1)
(return Ncount))
(if (/= 0 reminder)
(progn (setq reminder (rem (+ (* reminder 10)
1)
n))
(incf Ncount))
(return Ncount))))
Ncount))
(defun Euler129(n)
(loop for i from 1000001 to n by 2
do(progn (if (> (A i) 1000000)
(return i)))))
No comments:
Post a Comment