Cod sursa(job #381870)

Utilizator razvanuzuCiocoiu Razvan-Andrei razvanuzu Data 11 ianuarie 2010 21:21:40
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include <iostream.h >
#include<string.h>
long n,i,j,k,np,ok;
char v[20000001];
main()
{
	cin>>n;
	np=n-1;
	for(i=2;i<=n+1;i++)
		v[i]='1';
	for(i=2;i<=n;i++)
	{
		ok=1;
		for(j=2;j*j<=i;j++)
			if(i%j==0)
				ok=0;
			if(ok)
				for(k=2;k*i<=n;k++)
					if(v[k*i]=='1')
					{
						v[k*i]='0';
						np--;
					}
	}


	cout<<np;
return 0;
}