foo*_*bar 2 recursion haskell integer division
以下函数计算我将一个数字除以另一个数字的频率:
divs n p = if (n `mod` p == 0) then 1 + divs (n `div` p) p else 0
是否有更短的写作方式divs?
divs
小智 5
我的变体是:
factors :: Integral i => i -> i -> Int factors f = length . takeWhile (== 0) . map (`mod` f) . iterate (`div` f)
迭代/映射模式对许多问题非常有用.
归档时间:
14 年,12 月 前
查看次数:
288 次
最近记录:
14 年,11 月 前