Primality by Wilson's theorem: Difference between revisions

Content added Content deleted
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}}