Lucky and even lucky numbers: Difference between revisions
Content added Content deleted
(draft task promoted to task.) |
(add PicoLisp) |
||
Line 451: | Line 451: | ||
$ ./lucky 10000 , EVENLUCKY |
$ ./lucky 10000 , EVENLUCKY |
||
111842</pre> |
111842</pre> |
||
=={{header|PicoLisp}}== |
|||
<lang PicoLisp>(off *Even) |
|||
(de nn (Lst N) |
|||
(seek |
|||
'((L) |
|||
(when (car L) (=0 (dec 'N))) ) |
|||
Lst ) ) |
|||
(de lucky (B) |
|||
(let Lst (range (if *Even 2 1) B 2) |
|||
(for A (cdr Lst) |
|||
(for (L (nn Lst A) L (nn (cdr L) A)) |
|||
(set L) ) ) |
|||
(filter bool Lst) ) ) |
|||
(argv . *Argv) # without validations |
|||
(when (= "evenLucky" (last *Argv)) (on *Even)) |
|||
(setq *Lst (lucky 7000)) |
|||
(let (A (format (car *Argv)) B (format (cadr *Argv))) |
|||
(println |
|||
(if (lt0 B) |
|||
(filter '((N) (<= A N (abs B))) *Lst) |
|||
(head B (nth *Lst A)) ) ) )</lang> |
|||
{{out}} |
|||
<pre>$ pil ./lucky.l 1 20 |
|||
(1 3 7 9 13 15 21 25 31 33 37 43 49 51 63 67 69 73 75 79) |
|||
$ pil ./lucky.l 1 20 evenLucky |
|||
(2 4 6 10 12 18 20 22 26 34 36 42 44 50 52 54 58 68 70 76) |
|||
$ pil ./lucky.l 6000 -6100 |
|||
(6009 6019 6031 6049 6055 6061 6079 6093) |
|||
$ pil ./lucky.l 6000 -6100 evenLucky |
|||
(6018 6020 6022 6026 6036 6038 6050 6058 6074 6090 6092)</pre> |
|||
=={{header|Python}}== |
=={{header|Python}}== |