Find prime numbers of the form n*n*n+2: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (syntax highlighting fixup automation) |
Not a robot (talk | contribs) (Add Draco) |
||
Line 569: | Line 569: | ||
n = 173 => n^3 + 2 = 5,177,719 |
n = 173 => n^3 + 2 = 5,177,719 |
||
n = 189 => n^3 + 2 = 6,751,271</pre> |
n = 189 => n^3 + 2 = 6,751,271</pre> |
||
=={{header|Draco}}== |
|||
<syntaxhighlight lang="draco">proc nonrec is_prime(ulong n) bool: |
|||
ulong d; |
|||
bool prime; |
|||
if n<=4 then n=2 or n=3 |
|||
elif n&1=0 or n%3=0 then false |
|||
else |
|||
d := 5; |
|||
prime := true; |
|||
while prime and d*d <= n do |
|||
if n%d=0 then prime := false fi; |
|||
d := d+2; |
|||
if n%d=0 then prime := false fi; |
|||
d := d+4 |
|||
od; |
|||
prime |
|||
fi |
|||
corp |
|||
proc nonrec main() void: |
|||
word n; |
|||
ulong p; |
|||
for n from 1 upto 200 do |
|||
p := make(n,ulong); |
|||
p := p*p*p + 2; |
|||
if is_prime(p) then |
|||
writeln("n = ", n:3, " => n^3 + 2 = ", p:7) |
|||
fi |
|||
od |
|||
corp</syntaxhighlight> |
|||
{{out}} |
|||
<pre>n = 1 => n^3 + 2 = 3 |
|||
n = 3 => n^3 + 2 = 29 |
|||
n = 5 => n^3 + 2 = 127 |
|||
n = 29 => n^3 + 2 = 24391 |
|||
n = 45 => n^3 + 2 = 91127 |
|||
n = 63 => n^3 + 2 = 250049 |
|||
n = 65 => n^3 + 2 = 274627 |
|||
n = 69 => n^3 + 2 = 328511 |
|||
n = 71 => n^3 + 2 = 357913 |
|||
n = 83 => n^3 + 2 = 571789 |
|||
n = 105 => n^3 + 2 = 1157627 |
|||
n = 113 => n^3 + 2 = 1442899 |
|||
n = 123 => n^3 + 2 = 1860869 |
|||
n = 129 => n^3 + 2 = 2146691 |
|||
n = 143 => n^3 + 2 = 2924209 |
|||
n = 153 => n^3 + 2 = 3581579 |
|||
n = 171 => n^3 + 2 = 5000213 |
|||
n = 173 => n^3 + 2 = 5177719 |
|||
n = 189 => n^3 + 2 = 6751271</pre> |
|||
=={{header|F_Sharp|F#}}== |
=={{header|F_Sharp|F#}}== |
||
Line 597: | Line 648: | ||
n=189 -> 6751271 |
n=189 -> 6751271 |
||
</pre> |
</pre> |
||
=={{header|Factor}}== |
=={{header|Factor}}== |
||
Using the parity optimization from the Wren entry: |
Using the parity optimization from the Wren entry: |