Philipp9494
Erfahrenes Mitglied
Hallo.
Auf http://primes.utm.edu/mersenne/index.html steht dieser Pseudocode für den Lucas-Lehmer Test:
Daraufhin habe ich ihn in diesen C++-Code umgewandelt.
dieser gibt es aber nur bis 2^13-1 aus 2^17-1 sollte es u.a. auch ausgeben, aber hier ist Schluss!? Weis eventuell jemand wieso?
MfG
Philipp
Auf http://primes.utm.edu/mersenne/index.html steht dieser Pseudocode für den Lucas-Lehmer Test:
Code:
Lucas_Lehmer_Test(p):
s := 4;
for i from 3 to p do s := s2-2 mod 2p-1;
if s == 0 then
2p-1 is prime
else
2p-1 is composite;
Code:
#include <iostream>
#include <math.h>
using namespace std;
void f_llt(int p) {
int s=4;
int M;
for(int j=3;j<=p;j++) {
M = (pow(2, p) - 1);
s = ((s*s) - 2) % M;
}
if(s==0) {
cout<<"(2^"<<p<<")-1 is prime\n";
}
}
int main() {
for(int i=2; i<700;i++) {
f_llt(i);
}
return 0;
}
dieser gibt es aber nur bis 2^13-1 aus 2^17-1 sollte es u.a. auch ausgeben, aber hier ist Schluss!? Weis eventuell jemand wieso?
MfG
Philipp