Carmichael 3 strong pseudoprimes: Difference between revisions

Content added Content deleted
Line 2,229: Line 2,229:
L = [1, 2, 2 | W].
L = [1, 2, 2 | W].


prime(N) :- N < 2, !, false.
prime(N) :-
prime(N) :-
N >= 2,
wheel235(W),
wheel235(W),
prime(N, 2, W).
prime(N, 2, W).


prime(N, D, _) :- D*D > N, !.
prime(N, D, _) :- D*D > N, !.
prime(N, D, _) :- N mod D =:= 0, !, false.
prime(N, D, [A|As]) :-
N mod D =\= 0,
prime(N, D, [A|As]) :- D2 is D + A, prime(N, D2, As).
D2 is D + A, prime(N, D2, As).
</lang>
</lang>
{{Out}}
{{Out}}