Cod sursa(job #12295)

Utilizator Ady.hAdrian Hada Ady.h Data 3 februarie 2007 14:13:09
Problema Fractii Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>
#include <math.h>

int vec[500],n,l=0;

int totent(int x)
{
int i,fi;
fi=x;
for (i=0;i<=l;i++)
	if (x%vec[i]==0) fi=fi*(vec[i]-1)/vec[i];
if (fi==x) {
		if (x<1000) {
				l++;
				vec[l]=x;
				return (x-1);
				}
			else return (x-1);
		}
	else return fi;
}

int main()
{
unsigned long long numar;
int i;
FILE *pf;
pf=fopen("fractii.in","r");
fscanf(pf,"%d",&n);
fclose(pf);
numar=1;
vec[l]=2;
for (i=2;i<=n;i++)
	numar+=(unsigned long long)(2*totent(i));
pf=fopen("fractii.out","w");
fprintf(pf,"%llu",numar);
fclose(pf);
return 0;
}