我最近想出了一个问题,
查找包含数字k或被k整除的第n个数字。(2 <= k <= 9)
例子 -
如果n = 15&k = 3
答:33
(3,6,9,12,12,13,15,18,21,23,24,27,30,31,32,33)
但是无法提出一个好的工作思路。什么是解决这个问题的最佳算法。
和 haskell
> filter (\x -> hasDigit 3 x || mod x 3 == 0) [1..100]
[3,6,9,12,13,15,18,21,23,24,27,30,31,32,33,34,35,36,37,38,39,42,43,45,48,51,53,5
4,57,60,63,66,69,72,73,75,78,81,83,84,87,90,93,96,99]
您可以将hasDigit定义为
> hasDigit k n = elem (head $ show k) $ show n
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句