Cod sursa(job #1530828)

Utilizator adrian.costache.99Adrian Costache adrian.costache.99 Data 21 noiembrie 2015 12:55:49
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
using namespace std;
#include <iostream>
#include <fstream>
#include <math.h>
int main ()
{
	//fara ciurul lui eratosthenes
	//dandu-se un nr n, sa se det numarul numerelor prime <=n
	unsigned long n, s=0, i, d, f, a[200000];
	ifstream fin;
	fin.open("ciur.in");
	ofstream fout;
	fout.open("ciur.out");
	
	/*fin>>n;
	for (i=2; i<=n; ++i)
	{
		f=1;
		for (d=2; d<=sqrt(i*1.0); ++d)
		{
			if (i%d==0)
			{
				f=0;
				break;
			}
		}
		if (f==1)
		{
			++s;
		}
	}
	fout<<s;*/
	
	fin>>n;
	for (i=0; i<=n; i++)
	{
		a[i]=i;
	}
	for (i=2; i<=n; ++i)
	{
		if (a[i]!=0)
		{
			++s;		
			for (int j=i+1; j<=n; ++j)
			{
				if (a[j]!=0 && a[j]%a[i]==0)
				{
					a[j]=0;
				}
			}
		}
	}
	fout<<s;
	return 0;
}