Cod sursa(job #206761)

Utilizator xtremespeedzeal xtreme Data 9 septembrie 2008 13:31:30
Problema Ciurul lui Eratosthenes Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include<iostream.h>
#include<fstream.h>
#include<math.h>

int main()
	{
	long int nr,phi,j;
	fstream f("ciur.in",ios::in),g("ciur.out",ios::out);
	f>>nr;
	phi=nr;
	for(j=2;j<=sqrt(nr);j++)
		{
		if(nr%j==0)
			{
			phi=phi*(j-1)/j;
			while(nr%j==0)
				nr/=j;
			}
		if(nr>1)
			phi=phi*(nr-1)/nr;
		}
	g<<phi;
	f.close();g.close();
	return 0;
	}