# Euler problem 26

Haskell

——————————

``` rems n d xs     | (r == 0)    = xs ++     | (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 [] = -1elemInd 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] = xlist_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