Jump to content

AKS test for primes: Difference between revisions

add RPL
m (Fix loop in Seed7 example)
(add RPL)
Line 4,754:
 
Found 95 primes and the largest coefficient has 150 decimal digits.
</pre>
 
=={{header|RPL}}==
{| class="wikitable"
! RPL code
! Comment
|-
|
≪ → p
≪ { } 1
0 p '''FOR''' j
p j COMB OVER * ROT SWAP +
SWAP NEG
'''NEXT''' DROP
≫ ≫ ‘'''XPM1'''’ STO
≪ DUP '''XPM1''' → p coeffs
≪ 1
2 p '''FOR''' j
coeffs j GET ABS p MOD NOT AND '''NEXT'''
≫ ≫ ‘'''PRIM?'''’ STO
|
'''XPM1''' ''( p -- { (x-1)^p_coefficients } ) ''
coeffs = { } ; sign = 1
loop for j=0 to p
append C(p,j)*sign to coeffs
sign = -sign
end loop
return coeffs
'''PRIM?''' ''( p -- boolean ) ''
res = true
loop for j=2 to p
res = res AND (mod(coeffs[j],p)=0)
return res
|}
{{in}}
<pre>
≪ 1 7 FOR n n XPM1 NEXT ≫
≪ { } 2 35 FOR n IF n PRIM? THEN n + END NEXT ≫
</pre>
{{out}}
<pre>
8: { 1 -1 }
7: { 1 -2 1 }
6: { 1 -3 3 -1 }
5: { 1 -4 6 -4 1 }
4: { 1 -5 10 -10 5 -1 }
3: { 1 -6 15 -20 15 -6 1 }
2: { 1 -7 21 -35 35 -21 7 -1 }
1: { 2 3 5 7 11 13 17 19 23 29 31 }
</pre>
 
1,150

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.