Primality by Wilson's theorem: Difference between revisions
Content added Content deleted
SqrtNegInf (talk | contribs) m (→{{header|Raku}}: remove un-needed '*.') |
|||
Line 78: | Line 78: | ||
Is 21 prime: 0</pre> |
Is 21 prime: 0</pre> |
||
=={{header|Erlang}}== |
|||
<lang Erlang> |
|||
#! /usr/bin/escript |
|||
isprime(N) when N < 2 -> false; |
|||
isprime(N) -> fac_mod(N - 1, N) =:= N - 1. |
|||
fac_mod(N, M) -> fac_mod(N, M, 1). |
|||
fac_mod(1, _, A) -> A; |
|||
fac_mod(N, M, A) -> fac_mod(N - 1, M, A*N rem M). |
|||
main(_) -> |
|||
io:format("The first few primes (via Wilson's theorem) are: ~n~p~n", |
|||
[[K || K <- lists:seq(1, 128), isprime(K)]]). |
|||
</lang> |
|||
{{Out}} |
|||
<pre> |
|||
The first few primes (via Wilson's theorem) are: |
|||
[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,101, |
|||
103,107,109,113,127] |
|||
</pre> |
|||
=={{header|Factor}}== |
=={{header|Factor}}== |
||
{{works with|Factor|0.99 2019-10-06}} |
{{works with|Factor|0.99 2019-10-06}} |