2016-08-04 65 views
1

我最近提出了問題,第n個K數的最佳算法

找到包含數字k或可被k整除的第n個數字。 (2 < = K < = 9)

實施例 -

如果n = 15 & K = 3

答案:33

(3,6,9,12,13,15 ,18,21,23,24,27,30,31,32,33)

但是不能想出一個好的工作思路。什麼是最好的算法來解決這個問題。

回答

2

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 
+0

好準確的解釋。 –

相關問題