Cod sursa(job #49443)

Utilizator FlorianFlorian Marcu Florian Data 5 aprilie 2007 19:30:38
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<stdio.h>
#include<math.h>
int tot(long n)
	{
	long i;
	long s;
	long k;
	s=n;
	if(n%2==0) s=s-s/2;
	k=3;
	while(n%2==0) n=n/2;
	while(n!=1)
		{
		if (n%k==0)
			{
			s=s-s/k;
			while(n%k==0) n=n/k;
			}
		k=k+2;}
	return s;}

int main()
{long n,i,sol;
FILE*f=fopen("fractii.in","r");
FILE*g=fopen("fractii.out","w");
fscanf(f,"%ld",&n);
sol=1;
for (i=2;i<=n;i++) sol+=2*tot(i);
fprintf(g,"%ld",sol);
fclose(f);
fclose(g);
return 0;}