Cod sursa(job #1456855)

Utilizator SilviuIIon Silviu SilviuI Data 2 iulie 2015 10:44:14
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <cstring>
#include <stdlib.h>
#include <time.h>
#include <bitset>
#include <string>
#include <vector>
#include <math.h>
#include <stack>
#include <queue>
#include <list>
#include <set>
#include <map>
#include <limits.h>
#include <algorithm>
#include <deque>
#define inf 0x3f3f3f3f
#define nmax 1000010
#define eps 1e-12
using namespace std;
long long t[nmax];
int i,j,n;
int main(){
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++) t[i]=i;
for (i=2;i<=n;i++)
   if (t[i]==i) {
      for (j=i;j<=n;j+=i)
      t[j]=t[j]/i,t[j]=t[j]*(i-1);
}
long long sol=1;
for (i=2;i<=n;i++)
    sol=sol+2*t[i];
printf("%I64d\n",sol);
return 0;
}