Cod sursa(job #474069)

Utilizator un_fel_de_z3uBogdan un_fel_de_z3u Data 2 august 2010 13:23:07
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream.h>
#include<fstream.h>
ifstream f("fractii.in");
ofstream g("fractii.out");
unsigned long t,nr,a[1000000],i,j,n;
long double b[1000000];
void getfactor(long n)
{t=1;
	 for (int i = 2; i <= n; i++)
	 {
		  if (n % i == 0)
		  {
				getfactor(n/i);
				{b[t]=i;t++;}
				break;
		  }
	 }
}

int phi(long n)
		{int x=n,i;
		getfactor(n);i=1;
		while(i<=t)
				{if(b[i-1]!=b[i]&&b[i]!=0)
						{x=x*(b[i]-1)/b[i];}
						i++;
						}
			for(i=1;i<=t;i++)b[i]=0;
		return x;

		}




int main()
{
	 f>> n;
for(j=2;j<=n;j++)
		a[j]=phi(j);
for(i=1;i<=n;i++)
		nr+=a[i];
g<<2*nr+1;
	 return 0;
	 }