
24 Aug
2007
24 Aug
'07
5:14 a.m.
"Marc A. Ziegert"
tm_parallelizable_v1 = \n -> sum . takeWhile (>0) $ map (div n) fives where fives = iterate (*5) 1 tm_improved_v1 n = sum . takeWhile (>0) $ iterate (div `flip` 5) (div n 5) tm_fastestIMHO n = let m=div n 5 in if m<5 then m else m+tm_fastestIMHO m
Henning Thielemann
tm4 = sum . takeWhile(>0) . tail . iterate (flip div 5)
Bjorn Bringert
tm_silly n = length $ takeWhile (=='0') $ reverse $ show $ product [1..n]
Arie Groeneveld
tm = sum . takeWhile(>0) . iterate f . f where f = flip div 5 tm1 n = sum . takeWhile(>0) . map (div n . (5^)) $ [1..] tm2 n = sum . takeWhile(>0) . map (div n) $ iterate ((*)5) 5 tm3 = sum . takeWhile(>0) . flip map (iterate ((*)5) 5) . div