Cod sursa(job #650558)

Utilizator RaduDoStochitoiu Radu RaduDo Data 18 decembrie 2011 13:55:30
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<iostream>
#include<cstdio>
#include<cmath>
int n;int i,j,k,a[3000001];
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&n);
for(i=3;i<=n;i=i+2)
	a[i]=1;
for(i=3;i<=sqrt(n);i=i+2)
	if(a[i]==1)
	{
		k=(n-i)/i;
		j=2;
		while(j<=k+1)
		{
			a[i*j]=0;j=j+1;
		}
	}
	k=0;
for(i=3;i<=n;i=i+2)
if(a[i]==1)k++;
printf("%d\n",k+1);
return 0;
}