Ludic numbers: Difference between revisions

Add Factor example
m (→‎{{header|Ring}}: Remove vanity tags)
(Add Factor example)
Line 1,181:
2000..2005th: [21475, 21481, 21487, 21493, 21503, 21511]
Triples below 250: [[1, 3, 7], [5, 7, 11], [11, 13, 17], [23, 25, 29], [41, 43, 47], [173, 175, 179], [221, 223, 227], [233, 235, 239]]
</pre>
 
=={{header|Factor}}==
<lang factor>USING: formatting fry kernel make math math.ranges namespaces
prettyprint.config sequences sequences.extras ;
IN: rosetta-code.ludic-numbers
 
: next-ludic ( seq -- seq' )
dup first '[ nip _ mod zero? not ] filter-index ;
 
: ludics-upto-2005 ( -- a )
22,000 2 swap [a,b] [ ! 22k suffices to produce 2005 ludics
1 , [ building get length 2005 = ]
[ dup first , next-ludic ] until drop
] { } make ;
 
: ludic-demo ( -- )
100 margin set ludics-upto-2005
[ 6 tail* ] [ [ 1000 < ] count ] [ 25 head ] tri
"First 25 ludic numbers:\n%u\n\n"
"Count of ludic numbers less than 1000:\n%d\n\n"
"Ludic numbers 2000 to 2005:\n%u\n" [ printf ] tri@ ;
 
MAIN: ludic-demo</lang>
{{out}}
<pre>
First 25 ludic numbers:
{ 1 2 3 5 7 11 13 17 23 25 29 37 41 43 47 53 61 67 71 77 83 89 91 97 107 }
 
Count of ludic numbers less than 1000:
142
 
Ludic numbers 2000 to 2005:
{ 21475 21481 21487 21493 21503 21511 }
</pre>
 
1,808

edits