Haskell
——————————
rems n d xs
| (r == 0) = xs ++ [0]
| (elem r xs) = xs ++ [r] ++ [-1]
| otherwise = (rems (10*r) d (xs ++ [r]))
where r = n `rem` d
remainders n d = rems n d []
recur_cyc (x:xs)
| (elem 0 ys) = 0
| (not (elem (-1) ys)) = -2
| (not (elem x xs)) = recur_cyc xs
| otherwise = (length ys) - 2
where ys = (x:xs)
elemInd y [] = -1
elemInd y (x:xs) = ei 0 y (x:xs)
where
ei n y (x:xs)
| (x == y) = n
| (null xs) = -1
| otherwise = ei (n+1) y xs
list_max [x] = x
list_max (x:xs) = max x $ list_max xs
recur_list = map (\x -> (recur_cyc (remainders 1 x))) [1..1000]
p26 = 1 + (elemInd (list_max recur_list) recur_list)
-- 983
——————————
— Me@2015-06-05 03:25:44 PM
2015.06.05 Friday (c) All rights reserved by ACHK