Lucky and even lucky numbers: Difference between revisions
Content added Content deleted
(Haskell example using laziness. This example uses regular expressions and data types.) |
|||
Line 137: | Line 137: | ||
range :: Int -> Int -> Lucky -> [Int] |
range :: Int -> Int -> Lucky -> [Int] |
||
range x |
range x x2 l = case l of |
||
Lucky -> let n = length (take x (luckyNumbers oddNumbers)) in |
Lucky -> let n = length (take x (luckyNumbers oddNumbers)) in |
||
drop (n-1) (take |
drop (n-1) (take x2 (luckyNumbers oddNumbers)) |
||
EvenLucky -> let n = length (take x (luckyNumbers evenNumbers)) in |
EvenLucky -> let n = length (take x (luckyNumbers evenNumbers)) in |
||
drop (n-1) (take |
drop (n-1) (take x2 (luckyNumbers evenNumbers)) |
||
interval :: Int -> Int -> Lucky -> [Int] |
interval :: Int -> Int -> Lucky -> [Int] |
||
interval x |
interval x x2 l = let x'' = (-1 * x2) in |
||
case l of |
case l of |
||
Lucky -> let n = length (takeWhile (<x) (luckyNumbers oddNumbers)) in |
Lucky -> let n = length (takeWhile (<x) (luckyNumbers oddNumbers)) in |
||
Line 211: | Line 211: | ||
$ luckyNumbers 1 -100 evenLucky |
$ luckyNumbers 1 -100 evenLucky |
||
[2,4,6,10,12,18,20,22,26,34,36,42,44,50,52,54,58,68,70,76,84,90,98]</pre> |
[2,4,6,10,12,18,20,22,26,34,36,42,44,50,52,54,58,68,70,76,84,90,98]</pre> |
||
=={{header|J}}== |
=={{header|J}}== |
||