Find prime numbers of the form n*n*n+2: Difference between revisions
Content added Content deleted
(Added XPL0 example.) |
(Add Seed7 example) |
||
Line 869: | Line 869: | ||
189 => 6751271 |
189 => 6751271 |
||
Found 19 such prime numbers where 0 < n < 200. |
Found 19 such prime numbers where 0 < n < 200. |
||
</pre> |
|||
=={{header|Seed7}}== |
|||
Credit for <code>isPrime</code> function: [http://seed7.sourceforge.net/algorith/math.htm#isPrime] |
|||
<lang seed7>$ include "seed7_05.s7i"; |
|||
const func boolean: isPrime (in integer: number) is func |
|||
result |
|||
var boolean: prime is FALSE; |
|||
local |
|||
var integer: upTo is 0; |
|||
var integer: testNum is 3; |
|||
begin |
|||
if number = 2 then |
|||
prime := TRUE; |
|||
elsif odd(number) and number > 2 then |
|||
upTo := sqrt(number); |
|||
while number rem testNum <> 0 and testNum <= upTo do |
|||
testNum +:= 2; |
|||
end while; |
|||
prime := testNum > upTo; |
|||
end if; |
|||
end func; |
|||
const proc: main is func |
|||
local |
|||
const integer: limit is 199; |
|||
var integer: n is 1; |
|||
var integer: p is 0; |
|||
begin |
|||
writeln(" n n**3+2"); |
|||
writeln("------------"); |
|||
for n range 1 to limit step 2 do |
|||
p := n ** 3 + 2; |
|||
if isPrime(p) then |
|||
writeln(n lpad 3 <& p lpad 9); |
|||
end if; |
|||
end for; |
|||
end func;</lang> |
|||
{{out}} |
|||
<pre> |
|||
n n**3+2 |
|||
------------ |
|||
1 3 |
|||
3 29 |
|||
5 127 |
|||
29 24391 |
|||
45 91127 |
|||
63 250049 |
|||
65 274627 |
|||
69 328511 |
|||
71 357913 |
|||
83 571789 |
|||
105 1157627 |
|||
113 1442899 |
|||
123 1860869 |
|||
129 2146691 |
|||
143 2924209 |
|||
153 3581579 |
|||
171 5000213 |
|||
173 5177719 |
|||
189 6751271 |
|||
</pre> |
</pre> |
||