Cod sursa(job #45900)

Utilizator mike4problemsRadu Gabriel mike4problems Data 2 aprilie 2007 00:26:24
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<cstdio>
using namespace std;

long long x[1000001];
long long sol;
long long n,i,j;
long long prime[1000],nprime;

int main()
 {
// freopen("fractii.in","r",stdin);
// freopen("fractii.out","w",stdout);
 scanf("%lld",&n);
 sol=n*n;
 for(i=2;i<=n;i++)
  {
  for(j=0;j<nprime;j++)
   if(i%prime[j]==0)
    {
    if((i/prime[j])%prime[j]==0)
     x[i]=x[i/prime[j]];
    else
     x[i]=x[i/prime[j]]+n/prime[j]-x[i/prime[j]]/prime[j];
    break;
    }
  if(!x[i]) 
   {
   x[i]=n/i;
   prime[nprime++]=i;
   }
  sol-=x[i];
  }
 printf("%lld\n",sol);
 return 0;
 }