Primality by trial division: Difference between revisions
→Functional
VincentARM (talk | contribs) (add task to arm assembly raspberry pi) |
Langurmonkey (talk | contribs) |
||
(11 intermediate revisions by 5 users not shown) | |||
Line 368:
endmethod.
ENDCLASS.</syntaxhighlight>
=={{header|ABC}}==
REPORT n>=2 AND NO d IN {2..floor root n} HAS n mod d = 0
FOR n IN {1..100}:
IF prime n: WRITE n</syntaxhighlight>
{{out}}
<pre>2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97</pre>
=={{header|ACL2}}==
Line 2,360 ⟶ 2,369:
=={{header|EasyLang}}==
<syntaxhighlight lang="easylang">
func isprim n .
if
break 1▼
.
if
.
sq = sqrt
while i
if n mod
return 0
.
.
.
print isprim 1995937
</syntaxhighlight>
Line 3,026 ⟶ 3,036:
=={{header|langur}}==
=== Functional ===▼
{{trans|Raku}}▼
following the Raku example, which states, "Integer $i is prime if it is greater than one and is divisible by none of 2, 3, up to the square root of $i" (plus an adjustment for the prime number 2)▼
Below, we use an implied parameter (.i) on the .isPrime function.▼
.i == 2 or .i > 2 and
}
writeln filter .isPrime, series 100</syntaxhighlight>▼
=== Recursive ===
{{trans|Go}}
<syntaxhighlight lang="langur">val .isPrime = fn(.i) {
▲<syntaxhighlight lang="langur">val .isPrime = f(.i) {
val .n = abs(.i)
if .n <= 2: return .n == 2
val .chkdiv =
if .i
return .n ndiv .i and self(.n, .i+2)
}
Line 3,042 ⟶ 3,064:
return .n ndiv 2 and .chkdiv(.n, 3)
}
▲writeln filter .isPrime, series 100</syntaxhighlight>
▲=== Functional ===
▲{{trans|Raku}}
▲following the Raku example, which states, "Integer $i is prime if it is greater than one and is divisible by none of 2, 3, up to the square root of $i" (plus an adjustment for the prime number 2)
▲Below, we use an implied parameter (.i) on the .isPrime function.
▲<syntaxhighlight lang="langur">val .isPrime = f .i == 2 or
▲ .i > 2 and not any f(.x) .i div .x, pseries 2 .. .i ^/ 2
writeln filter .isPrime, series 100</syntaxhighlight>
Line 4,248 ⟶ 4,258:
=={{header|Quackery}}==
<code>sqrt+</code> is defined at [[Isqrt (integer square root) of X#Quackery]].
<syntaxhighlight lang="quackery"> [ dup 4 < iff [ 1 > ] done
dup 1 & not iff [ drop false ] done
true swap dup sqrt+
0 = iff [ 2drop not ] done
1 >> times
Line 4,911 ⟶ 4,921:
Original source: [http://seed7.sourceforge.net/algorith/math.htm#is_prime]
=={{header|SETL}}==
<syntaxhighlight lang="setl">program trial_division;
print({n : n in {1..100} | prime n});
op prime(n);
return n>=2 and not exists d in {2..floor sqrt n} | n mod d = 0;
end op;
end program;</syntaxhighlight>
{{out}}
<pre>{2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97}</pre>
=={{header|Sidef}}==
<syntaxhighlight lang="ruby">func is_prime(a) {
Line 5,237 ⟶ 5,257:
=={{header|Wren}}==
{{libheader|Wren-fmt}}
<syntaxhighlight lang="
var isPrime = Fn.new { |n|
Line 5,253 ⟶ 5,273:
System.print("Are the following prime?")
for (test in tests) {
}</syntaxhighlight>
|