Pagini recente » Cod sursa (job #1321155) | Cod sursa (job #2980602) | Cod sursa (job #417676) | Cod sursa (job #2183415) | Cod sursa (job #1033100)
#include <fstream>
#include <cmath>
using namespace std;
int n,nr,i;
long a;
bool isPrime(int n)
{
// Daca este 2 sau 3 atunci este prim
if(n == 2 || n == 3) return true;
// Daca este divizibil cu 2 sau 3 atunci NU este prim
if(n % 2 == 0 || n % 3 == 0) return false;
for(int k = 1; 6*k-1 <= sqrt(n); k++)
{
// Daca este divizibil cu 6*k -/+ 1 atunci NU este prim
if(n % (6*k-1) == 0 || n % (6*k+1) == 0) return false;
}
// Daca am ajuns aici, inseamna ca este prim
return true;
}
int main()
{ifstream f("ciur.in");
ofstream g("ciur.out");
f>>a;
if(a==3)g<<1;
for(int i = 3; i <= a; i+2)
if(isPrime(i)) nr++;
g<<nr;
f.close();
g.close();
return 0;
}