Cod sursa(job #175296)

Utilizator sigridMaria Stanciu sigrid Data 9 aprilie 2008 20:16:54
Problema Fractii Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<fstream.h>
#define dim 1000001

ifstream f("fractii.in");
ofstream g("fractii.out");

unsigned long n,v[dim],rez[21],nn=20,n2;

void init()
{unsigned long i,j;

for(i=1;i<=n;i++) v[i]=i-1;

for(i=2;i<=n;i++)
 for(j=i*2;j<=n;j+=i) v[j]-=v[i];

}

void solutie()
{
int man,t;
unsigned long i;

for(i=2;i<=n;i++)
  {rez[nn]+=(v[i]*2);

   if(rez[nn]>9)
      {man=rez[nn]%10;
       t=rez[nn]/10;
       rez[nn]=man;

       n2=nn-1;
       while(t)
	{rez[n2]+=t;
	 n2--;
	 t=rez[n2]/10;
	 rez[n2]=rez[n2]%10;
	}
      }
  }

 n2++;
 rez[nn]++;

 for(i=n2;i<=nn;i++) g<<rez[i];

 g<<'\n';

}


int main()
{
unsigned long i,j;

f>>n;
f.close();

init();

solutie();

g.close();
return 0;
}