Pagini recente » Cod sursa (job #1608479) | Cod sursa (job #2350307) | Cod sursa (job #699099) | Cod sursa (job #1163932) | 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;
}