Primality by trial division: Difference between revisions
Content added Content deleted
(adding lambdatalk) |
No edit summary |
||
Line 4,236: | Line 4,236: | ||
{{out}} |
{{out}} |
||
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 |
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 |
||
=={{header|SparForte}}== |
|||
As a structured script. |
|||
<syntaxhighlight lang="ada">#!/usr/local/bin/spar |
|||
pragma annotate( summary, "prime" ); |
|||
pragma annotate( description, "Write a boolean function that tells whether a given" ); |
|||
pragma annotate( description, "integer is prime. Remember that 1 and all" ); |
|||
pragma annotate( description, "non-positive numbers are not prime. " ); |
|||
pragma annotate( see_also, "http://rosettacode.org/wiki/Primality_by_trial_division" ); |
|||
pragma annotate( author, "Ken O. Burtch" ); |
|||
pragma license( unrestricted ); |
|||
pragma restriction( no_external_commands ); |
|||
procedure prime is |
|||
function is_prime(item : positive) return boolean is |
|||
result : boolean := true; |
|||
test : natural; |
|||
begin |
|||
if item /= 2 and item mod 2 = 0 then |
|||
result := false; |
|||
else |
|||
test := 3; |
|||
while test < natural( numerics.sqrt( item ) ) loop |
|||
if natural(item) mod test = 0 then |
|||
result := false; |
|||
exit; |
|||
end if; |
|||
test := @ + 2; |
|||
end loop; |
|||
end if; |
|||
return result; |
|||
end is_prime; |
|||
number : positive; |
|||
result : boolean; |
|||
begin |
|||
number := 6; |
|||
result := is_prime( number ); |
|||
put( number ) @ ( " : " ) @ ( result ); |
|||
new_line; |
|||
number := 7; |
|||
result := is_prime( number ); |
|||
put( number ) @ ( " : " ) @ ( result ); |
|||
new_line; |
|||
number := 8; |
|||
result := is_prime( number ); |
|||
put( number ) @ ( " : " ) @ ( result ); |
|||
new_line; |
|||
end prime;</syntaxhighlight> |
|||
=={{header|SQL}}== |
=={{header|SQL}}== |