Lucas-Lehmer test: Difference between revisions
Content deleted Content added
m →{{header|Java}}: Program never actually tests M2, but we all know it should be there |
|||
Line 1,272: | Line 1,272: | ||
val s: (BigInt,Int) => BigInt = (mp,p) => if (p==1) 4 else (((s(mp,p-1) pow 2)-2)%mp) |
val s: (BigInt,Int) => BigInt = (mp,p) => if (p==1) 4 else (((s(mp,p-1) pow 2)-2)%mp) |
||
(primes takeWhile (_< |
(primes takeWhile (_<10000) map {p=>(p,mersenne(p))} map {p=>if (p._1==2) (p,0) else (p,s(p._2,p._1-1))} filter {_._2==0}) |
||
.foreach {p=>println("prime M"+(p._1)._1+{if ((p._1)._1<200) ": "+(p._1)._2 else ": ("+(p._1)._2.toString.size+" digits)"})} |
.foreach {p=>println("prime M"+(p._1)._1+{if ((p._1)._1<200) ": "+(p._1)._2 else ": ("+(p._1)._2.toString.size+" digits)"})} |
||
}</lang> |
}</lang> |
||
Line 1,292: | Line 1,292: | ||
prime M1279: (386 digits) |
prime M1279: (386 digits) |
||
prime M2203: (664 digits) |
prime M2203: (664 digits) |
||
prime M2281: (687 digits) |
prime M2281: (687 digits) |
||
prime M3217: (969 digits) |
|||
prime M4253: (1281 digits) |
|||
prime M4423: (1332 digits) |
|||
prime M9689: (2917 digits) |
|||
prime M9941: (2993 digits)</pre> |
|||
=={{header|Scheme}}== |
=={{header|Scheme}}== |