Cod sursa(job #57458)

Utilizator FlorianFlorian Marcu Florian Data 2 mai 2007 10:02:10
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<stdio.h>
long long v[1000001],n,u[1000001];
void init(long &n)
	{
	FILE*f=fopen("fractii.in","r");
	fscanf(f,"%lld",&n);
	fclose(f);
	}

void eratostene()
	{
	long i,j;
	for(i=2;i<=1000000;i++) v[i]=i;

	for(i=2;i<=1000000;i++)
		if(u[i]==0)
			{
			j=2;
			v[i]--;
			while(i*j<=n)
				{

				u[i*j]=1;
				v[i*j]=v[i*j]-v[i*j]/i;
				j++;}
			}
	}
int main()
	{
	init(n);
	eratostene();
	FILE*g=fopen("fractii.out","w");
	long long sol=1,i;
	for(i=2;i<=n;i++)
		sol+=2*v[i];
	fprintf(g,"%lld",sol);
	fclose(g);
	return 0;}