Pagini recente » Cod sursa (job #2904241) | Cod sursa (job #1862068) | Cod sursa (job #1035971) | Cod sursa (job #1174520) | Cod sursa (job #963769)
Cod sursa(job #963769)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
unsigned long long ciur [2000000];
int verifica (int x)
{
int i;
if (x==0 || x==1 || (x%2==0 && x!=2)) return 0;
if (x==2) return 1;
for (i=3;i<=sqrtf(x);i=i+2)
if (x%i==0) return 0;
return 1;
}
void aloca (int n,int x)
{
unsigned long long i;
for (i=x*x;i<=x;i=i+x) ciur[i]=0;
}
int main ()
{
unsigned int n,i,s=0;
f>>n;
for (i=2;i<=n;i++) ciur[i]=i;
for (i=2;i<=n;i++)
if (verifica(ciur[i]))
{
aloca(n,i);
s++;
}
g<<s;
}