Cod sursa(job #313892)

Utilizator iulia609fara nume iulia609 Data 10 mai 2009 01:32:33
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>
#include<string.h>
using namespace std;
int w[10];
int main()
{unsigned long long n,i,k,d,x,p,t,j;
 FILE*f=fopen("fractii.in","r");
 FILE*g=fopen("fractii.out","w");
 
 fscanf(f,"%llu",&n);
 
k=0;
for(i=2;i<=n;i++)
	{d=2;
	 x=i;
	 t=0;
	 while(x!=1)
		if(x%d==0)
		  {if(w[t]!=d) w[++t]=d;
		   x/=d;
		  }
		   else d++;
	 p=i;
	 for(j=1;j<=t;j++)
		 p=(p/w[j])*(w[j]-1);
	 memset(w,0,10);
	 k+=p;
	}
	
 fprintf(g,"%llu\n",(k+1)*2-1);
 fclose(f);
 fclose(g);
 return 0;
}