Cod sursa(job #826841)

Utilizator Stefanescu_MihaiStefanescu Mihai-Nicolae Stefanescu_Mihai Data 1 decembrie 2012 12:12:28
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <fstream>
#include <math.h>
using namespace std;
unsigned int a[2000009];
int main()
{
	unsigned int k,m,i,n;
	ifstream f1("ciur.in");
	f1>>n;
	f1.close();
	for (i=1;i<=n;i++) a[i]=i;
	for (k=4;k<=n;k=k+2) a[k]=0;
	for (i=3;i<=sqrt(n);i=i+2) if (a[i]!=0)  for (k=i+2;k<=n;k++) if (a[k]%a[i]==0) a[k]=0;
	for (m=i=0;i<=n;i++) if (a[i]!=0) m++;
	ofstream f2("ciur.out");
	f2<<m-1;
	f2.close();
	return 0;
}