Lehet erathoszthenészi szitával előállítani őket vamameddig, vagy megszerzel egy prímlistát, és tárolod őket egy tömbben vagy vectorban.
Használható a Miller-Rabin prímtesztelés is, bár az nem 100%-os, legfeljebb akárhány 9-es pontosságú.
Ezerszer volt már itt téma:
bool primteszt(int szam)
{
bool jo = true ;
if (szam == 2) return true;
if ((szam % 2 == 0) || (szam == 1)) return false;
for (int t = 3; t <= sqrt(szam) + 1; t += 2)
{
if (szam % t == 0)
{
jo = false ;
}
}
return jo ;
}
#include <iostream>
#include <cmath>
#include <stdlib.h>
using namespace std;
typedef unsigned short int cval;
typedef unsigned int egesz;
bool prim_e(unsigned int = 2);
int main() {
egesz n;
cout << "Hany primszamot szeretnel generalni?" << endl;
cout << "n = ";
cin >> n;
for(cval i = 2;i<=n;i++) {
if(prim_e(i) == 1)
cout << i << " ";
}
cout << endl;
system("pause");
return 0;
}
bool prim_e(unsigned int szam) {
cval k = 0; //osztok szamat tarolja
for(cval i = 2;i<=round(sqrt(szam));i++) {
if((szam % i) == 0)
k++;
}
if(k == 0)
return true;
else
return false;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!