Strong and weak primes: Difference between revisions
Content added Content deleted
m (added to Prime numbers category.) |
(Add Factor example) |
||
Line 170: | Line 170: | ||
There are 37,779 strong primes below 1,000,000 |
There are 37,779 strong primes below 1,000,000 |
||
There are 321,749 strong primes below 1,000,000</pre> |
There are 321,749 strong primes below 1,000,000</pre> |
||
=={{header|Factor}}== |
|||
<lang factor>USING: formatting grouping kernel math math.primes sequences |
|||
tools.memory.private ; |
|||
IN: rosetta-code.strong-primes |
|||
: fn ( p-1 p p+1 -- p sum ) rot + 2 / ; |
|||
: strong? ( p-1 p p+1 -- ? ) fn > ; |
|||
: weak? ( p-1 p p+1 -- ? ) fn < ; |
|||
: swprimes ( seq quot -- seq ) |
|||
[ 3 <clumps> ] dip [ first3 ] prepose filter [ second ] map |
|||
; inline |
|||
: stats ( seq n -- firstn count1 count2 ) |
|||
[ head ] [ drop [ 1e6 < ] filter length ] [ drop length ] |
|||
2tri [ commas ] bi@ ; |
|||
10,000,019 primes-upto [ strong? ] over [ weak? ] |
|||
[ swprimes ] 2bi@ [ 36 ] [ 37 ] bi* [ stats ] 2bi@ |
|||
"First 36 strong primes:\n%[%d, %] |
|||
%s strong primes below 1,000,000 |
|||
%s strong primes below 10,000,000\n |
|||
First 37 weak primes:\n%[%d, %] |
|||
%s weak primes below 1,000,000 |
|||
%s weak primes below 10,000,000\n" printf</lang> |
|||
{{out}} |
|||
<pre> |
|||
First 36 strong primes: |
|||
{ 11, 17, 29, 37, 41, 59, 67, 71, 79, 97, 101, 107, 127, 137, 149, 163, 179, 191, 197, 223, 227, 239, 251, 269, 277, 281, 307, 311, 331, 347, 367, 379, 397, 419, 431, 439 } |
|||
37,723 strong primes below 1,000,000 |
|||
320,991 strong primes below 10,000,000 |
|||
First 37 weak primes: |
|||
{ 3, 7, 13, 19, 23, 31, 43, 47, 61, 73, 83, 89, 103, 109, 113, 131, 139, 151, 167, 181, 193, 199, 229, 233, 241, 271, 283, 293, 313, 317, 337, 349, 353, 359, 383, 389, 401 } |
|||
37,780 weak primes below 1,000,000 |
|||
321,750 weak primes below 10,000,000 |
|||
</pre> |
|||
=={{header|Go}}== |
=={{header|Go}}== |