2016-08-04 7 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 k n = elem (head $ show k) $ show n 
+0

좋은 정확한 설명으로 hasDigit을 정의 할 수 있습니다. –

관련 문제