Gaussian primes: Difference between revisions

Content added Content deleted
m (→‎{{header|Perl}}: reduce font size of plot slightly for easier viewing)
m (→‎{{header|Perl}}: include zero-component values, tidy output)
Line 203: Line 203:


=={{header|Perl}}==
=={{header|Perl}}==
{{incorrect|Perl|missing the Gaussian primes with a zero a or b, (3, -3, 3i, -3i, 7, -7,...) in both the list and the plot}}
{{libheader|ntheory}}
{{libheader|ntheory}}
<lang perl>#!/usr/bin/perl
<lang perl>#!/usr/bin/perl
Line 227: Line 226:
{
{
my $norm = $A**2 + $B**2;
my $norm = $A**2 + $B**2;
is_prime( $norm ) or ($norm - 3) % 4 == 0 or next;
if ( is_prime( $norm )
or ( $A==0 && is_prime(abs $B) && (abs($B)-3)%4 == 0)
push @primes, "$A ${B}i";
substr $plot, ($B + $size + 1) * (2 * $size + 2) + $A + $size + 1, 1, 'X';
or ( $B==0 && is_prime(abs $A) && (abs($A)-3)%4 == 0) ) {
{
push @primes, sprintf("%2d%2di", $A, $B) =~ s/ (\di)/+$1/r;
substr $plot, ($B + $size + 1) * (2 * $size + 2) + $A + $size + 1, 1, 'X';
}
}
}
}
}
Line 235: Line 238:
}</lang>
}</lang>
{{out}}
{{out}}
<pre>
<pre>Primes within 10
-9-4i, -9+4i, -8-5i, -8-3i, -8+3i, -8+5i, -7-2i, -7+0i, -7+2i, -6-5i, -6-1i, -6+1i,
Primes within 10
-9 -4i, -9 4i, -8 -5i, -8 -3i, -8 3i, -8 5i, -7 -2i, -7 2i, -6 -5i, -6 -1i, -6 1i, -6 5i,
-6+5i, -5-8i, -5-6i, -5-4i, -5-2i, -5+2i, -5+4i, -5+6i, -5+8i, -4-9i, -4-5i, -4-1i,
-5 -8i, -5 -6i, -5 -4i, -5 -2i, -5 2i, -5 4i, -5 6i, -5 8i, -4 -9i, -4 -5i, -4 -1i, -4 1i,
-4+1i, -4+5i, -4+9i, -3-8i, -3-2i, -3+0i, -3+2i, -3+8i, -2-7i, -2-5i, -2-3i, -2-1i,
-4 5i, -4 9i, -3 -8i, -3 -2i, -3 2i, -3 8i, -2 -7i, -2 -5i, -2 -3i, -2 -1i, -2 1i, -2 3i,
-2+1i, -2+3i, -2+5i, -2+7i, -1-6i, -1-4i, -1-2i, -1-1i, -1+1i, -1+2i, -1+4i, -1+6i,
-2 5i, -2 7i, -1 -6i, -1 -4i, -1 -2i, -1 -1i, -1 1i, -1 2i, -1 4i, -1 6i, 1 -6i, 1 -4i,
0-7i, 0-3i, 0+3i, 0+7i, 1-6i, 1-4i, 1-2i, 1-1i, 1+1i, 1+2i, 1+4i, 1+6i,
1 -2i, 1 -1i, 1 1i, 1 2i, 1 4i, 1 6i, 2 -7i, 2 -5i, 2 -3i, 2 -1i, 2 1i, 2 3i, 2 5i,
2-7i, 2-5i, 2-3i, 2-1i, 2+1i, 2+3i, 2+5i, 2+7i, 3-8i, 3-2i, 3+0i, 3+2i,
2 7i, 3 -8i, 3 -2i, 3 2i, 3 8i, 4 -9i, 4 -5i, 4 -1i, 4 1i, 4 5i, 4 9i, 5 -8i, 5 -6i,
3+8i, 4-9i, 4-5i, 4-1i, 4+1i, 4+5i, 4+9i, 5-8i, 5-6i, 5-4i, 5-2i, 5+2i,
5 -4i, 5 -2i, 5 2i, 5 4i, 5 6i, 5 8i, 6 -5i, 6 -1i, 6 1i, 6 5i, 7 -2i, 7 2i, 8 -5i,
5+4i, 5+6i, 5+8i, 6-5i, 6-1i, 6+1i, 6+5i, 7-2i, 7+0i, 7+2i, 8-5i, 8-3i,
8 -3i, 8 3i, 8 5i, 9 -4i, 9 4i
8+3i, 8+5i, 9-4i, 9+4i</pre>
<pre style="font-size:66%;">Plot within 50
</pre>
X X X X
<pre style="font-size:66%;">
X X
Plot within 50
X X X X X X X
X X X X X X X X
X X X X
X X X X X X X X
X X
X X X X X X X X
X X X X X X
X X X X X X X X X
X X X X X X X X
X X X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X
X X X X
X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X
X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X XX XX X X X X X X X X X X
X X X X X X X X X X XX XX X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X XX XX X X X X X X X X X X
X X X X X X X X X X XX XX X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X
X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X
X X X X
X X X X X X X X X X
X X X X X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X X X
X X X X X X X X
X X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X
X X X X X X X X
X X
X X X X X X X X
X X X X
X X X X X X X
X X
</pre>
X X X X</pre>


=={{header|Phix}}==
=={{header|Phix}}==