Find prime numbers of the form n*n*n+2: Difference between revisions
Find prime numbers of the form n*n*n+2 (view source)
Revision as of 12:58, 27 August 2022
, 1 year agosyntax highlighting fixup automation
m (Ada: Fix Is_Prime) |
Thundergnat (talk | contribs) m (syntax highlighting fixup automation) |
||
Line 5:
=={{header|Ada}}==
<
procedure Find_Primes is
Line 45:
end if;
end loop;
end Find_Primes;</
{{out}}
<pre> N N**3+2
Line 70:
=={{header|ALGOL 68}}==
<
FOR n TO 199 DO
INT candidate = ( n * n * n ) + 2;
Line 84:
FI
OD
END</
{{out}}
<pre>
Line 109:
=={{header|ALGOL W}}==
<
for n := 1 until 199 do begin
integer candidate;
Line 127:
end if_isPrime
end for_n
end.</
{{out}}
<pre>
Line 152:
=={{header|AWK}}==
<syntaxhighlight lang="awk">
# syntax: GAWK -f FIND_PRIME_NUMBERS_OF_THE_FORM_NNN2.AWK
BEGIN {
Line 178:
return(1)
}
</syntaxhighlight>
{{out}}
<pre>
Line 205:
=={{header|C}}==
{{trans|Wren}}
<
#include <stdbool.h>
#include <locale.h>
Line 235:
}
return 0;
}</
{{out}}
Line 261:
=={{header|C++}}==
<
#include <iostream>
Line 287:
std::cout << std::setw(3) << n << std::setw(9) << p << '\n';
}
}</
{{out}}
Line 313:
=={{header|CLU}}==
<
if n<2 then return(false) end
if n//2=0 then return(n=2) end
Line 344:
stream$putl(po, "")
end
end start_up</
{{out}}
<pre>n = 1 => n^3 + 2 = 3
Line 367:
=={{header|COBOL}}==
<
PROGRAM-ID. N3-PLUS-2-PRIMES.
Line 437:
CHECK-PRIME-DONE.
EXIT.</
{{out}}
<pre>N = 1 => N ** 3 + 2 = 3
Line 460:
=={{header|Cowgol}}==
<
sub is_prime(n: uint32): (p: uint8) is
Line 495:
end if;
n := n+1;
end loop;</
{{out}}
<pre>n = 1 => n^3 + 2 = 3
Line 520:
{{libheader| System.SysUtils}}
{{libheader| PrimTrial}}
<syntaxhighlight lang="delphi">
program Find_prime_numbers_of_the_form_n_n_n_plus_2;
Line 548:
end;
readln;
end.</
{{out}}
<pre>n = 1 => n^3 + 2 = 3
Line 572:
=={{header|F_Sharp|F#}}==
This task uses [[Extensible_prime_generator#The_functions|Extensible Prime Generator (F#)]].<br>
<
[1..2..200]|>Seq.filter(fun n->isPrime(2+pown n 3))|>Seq.iter(fun n->printfn "n=%3d -> %d" n (2+pown n 3))
</syntaxhighlight>
{{out}}
<pre>
Line 600:
Using the parity optimization from the Wren entry:
{{works with|Factor|0.99 2021-02-05}}
<
math.ranges sequences tools.memory.private ;
Line 606:
dup 3 ^ 2 + dup prime?
[ commas "n = %3d => n³ + 2 = %9s\n" printf ] [ 2drop ] if
] each</
Or, using local variables:
{{trans|Wren}}
{{works with|Factor|0.99 2021-02-05}}
<
tools.memory.private ;
Line 620:
[ n p commas "n = %3d => n³ + 2 = %9s\n" printf ] when
] each
]</
{{out}}
<pre>
Line 645:
=={{header|Fermat}}==
<
{{out}}
<pre>
Line 671:
=={{header|Forth}}==
{{works with|Gforth}}
<
dup 2 < if drop false exit then
dup 2 mod 0= if 2 = exit then
Line 696:
main
bye</
{{out}}
Line 723:
=={{header|FreeBASIC}}==
Use the code from [[Primality by trial division#FreeBASIC]] as an include.
<
for n as uinteger = 1 to 200
Line 729:
print n, n^3+2
end if
next n</
{{out}}
<pre>
Line 754:
=={{header|Frink}}==
<
if isPrime[n^3 + 2]
println["$n\t" + n^3+2]</
{{out}}
<pre>
Line 789:
=={{header|Go}}==
<
import "fmt"
Line 840:
}
}
}</
{{out}}
Line 866:
=={{header|J}}==
<
{{out}}
<pre> 1 3
Line 894:
Using a definition of `is_prime` such as can be found at
[[Safe_primes_and_unsafe_primes]]:
<syntaxhighlight lang="jq">
range(1;200) | pow(.; 3) + 2 | select(is_prime)
</syntaxhighlight>
{{out}}
<pre>
Line 921:
=={{header|Julia}}==
<
using Primes, Formatting
Line 942:
filterprintresults(isncubedplus2prime, 0, 200, tostring)
</
<pre>
n = 1 => n³ + 2 = 3
Line 967:
</pre>
=== One-liner version ===
<
[3, 29, 127, 24391, 91127, 250049, 274627, 328511, 357913, 571789, 1157627, 1442899, 1860869, 2146691, 2924209, 3581579, 5000213, 5177719, 6751271]</pre>
=={{header|MAD}}==
<
INTERNAL FUNCTION(P)
Line 997:
END OF CONDITIONAL
LOOP CONTINUE
END OF PROGRAM</
{{out}}
<pre>N = 1 N*N*N + 2 = 3
Line 1,020:
=={{header|Mathematica}}/{{header|Wolfram Language}}==
<
{{out}}
<pre>{3, 29, 127, 24391, 91127, 250049, 274627, 328511, 357913, 571789, 1157627, 1442899, 1860869, 2146691, 2924209, 3581579, 5000213, 5177719, 6751271}</pre>
=={{header|Nim}}==
<
func isPrime(n: Positive): bool =
Line 1,042:
let p = n * n * n + 2
if p.isPrime:
echo ($n).align(3), " → ", p</
{{out}}
Line 1,066:
=={{header|PARI/GP}}==
<
{{out}}
<pre>
Line 1,091:
=={{header|Perl}}==
<
use warnings;
use feature 'say';
Line 1,107:
}
print "\n";
}</
{{out}}
Line 1,126:
=={{header|Phix}}==
<!--<
<span style="color: #008080;">function</span> <span style="color: #000000;">pn3p2</span><span style="color: #0000FF;">(</span><span style="color: #004080;">integer</span> <span style="color: #000000;">n</span><span style="color: #0000FF;">)</span>
<span style="color: #004080;">integer</span> <span style="color: #000000;">n3p2</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">power</span><span style="color: #0000FF;">(</span><span style="color: #000000;">n</span><span style="color: #0000FF;">,</span><span style="color: #000000;">3</span><span style="color: #0000FF;">)+</span><span style="color: #000000;">2</span>
Line 1,134:
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"Found %d primes of the form n^3+2:\n"</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">res</span><span style="color: #0000FF;">))</span>
<span style="color: #7060A8;">papply</span><span style="color: #0000FF;">(</span><span style="color: #004600;">true</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">printf</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,{</span><span style="color: #008000;">"n = %3d => n^3+2 = %,9d\n"</span><span style="color: #0000FF;">},</span><span style="color: #000000;">res</span><span style="color: #0000FF;">})</span>
<!--</
{{out}}
<pre>
Line 1,160:
=={{header|Plain English}}==
<
Start up.
Put 1 into a counter.
Line 1,173:
Write "Done." on the console.
Wait for the escape key.
Shut down.</
{{out}}
<pre>
Line 1,200:
=={{header|Python}}==
<
def isPrime(n):
Line 1,211:
for n in range(1, 200):
if isPrime(n**3+2):
print(f'{n}\t{n**3+2}');</
{{out}}
<pre>1 3
Line 1,235:
=={{header|Raku}}==
<syntaxhighlight lang="raku"
say ((1…199)»³ »+»2).grep: *.is-prime</
{{out}}
<pre>
Line 1,252:
Since the task's requirements are pretty straight-forward and easy, a little extra code was added for presentation
<br>(title and title separator line, the count of primes found, and commatization of the numbers).
<
parse arg LO HI hp . /*obtain optional argument from the CL.*/
if LO=='' | LO=="," then LO= 0 /*Not specified? Then use the default.*/
Line 1,299:
end /*k*/ /* [↑] only process numbers ≤ √ J */
#= #+1; @.#= j; s.#= j*j; !.j= 1 /*bump # of Ps; assign next P; P²; P# */
end /*j*/; return</
{{out|output|text= when using the default inputs:}}
<pre>
Line 1,329:
=={{header|Ring}}==
<
load "stdlib.ring"
Line 1,342:
see "done..." + nl
</syntaxhighlight>
{{out}}
<pre>
Line 1,370:
=={{header|Rust}}==
<
use primes::is_prime;
Line 1,392:
println!("Found {} such prime numbers where {} < n < {}.", count,begin,end);
}</
{{out}}
<pre>
Line 1,421:
=={{header|Seed7}}==
Credit for <code>isPrime</code> function: [http://seed7.sourceforge.net/algorith/math.htm#isPrime]
<
const func boolean: isPrime (in integer: number) is func
Line 1,455:
end if;
end for;
end func;</
{{out}}
<pre>
Line 1,482:
=={{header|Sidef}}==
<
{{out}}
<pre>
Line 1,489:
=={{header|Swift}}==
<
func isPrime(_ n: Int) -> Bool {
Line 1,520:
print(String(format: "%3d%9d", n, p))
}
}</
{{out}}
Line 1,550:
{{libheader|Wren-fmt}}
If ''n'' is even then ''n³ + 2'' is also even, so we only need to examine odd values of ''n'' here.
<
import "/trait" for Stepped
import "/fmt" for Fmt
Line 1,558:
var p = n*n*n + 2
if (Int.isPrime(p)) Fmt.print("n = $3d => n³ + 2 = $,9d", n, p)
}</
{{out}}
Line 1,584:
=={{header|XPL0}}==
<
int N, I;
[if N <= 1 then return false;
Line 1,601:
]
];
]</
{{out}}
|