Witam czy zna ktoś algorytm funkcji na wyszukiwanie liczb pierwszych.?
0
0
Tak, znam.
Jak używać Google
0
Sprawdzićczy liczba jest pierwsza można np. tak (Willson):
int CzyPierwsza(int n){ // zwraca 1 jeżeli N jest liczbą pierwszą
int a,b,k=n-1,s=n-1, z=n-2;
while(z>1){
a=s;k=0;b=z;
while(b){
if(b&1){
k+=a;
if(k>=n) k-=n;
}
a+=a;
if(a>=n) a-=n;
b>>=1;
}
if(k==0) return 0;
s=k;
z--;
}
return k+1==n;
}
0
Bez przesady ...
Liczba pierwsza dzieli się tylko przez siebie i przez jeden , tzn.:
liczba modulo liczba == 0
w pozostałych przypadkach
dla liczba większego od 2
for i=2 to liczba-1 to
{
if liczba modulo i == 0 => koniec to nie jest liczba pierwsza
}