Cod sursa(job #825550)
| Utilizator | Data | 29 noiembrie 2012 10:42:46 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include<stdio.h>
#include<iostream>
using namespace std;
unsigned long long phi[100000000];
int main()
{
unsigned long long n,nr=0,i,j;
FILE *in = fopen("fractii.in", "r");
FILE *out = fopen("fractii.out", "w");
fscanf(in, "%lld", &n);
for(i=1;i<=n;i++)
phi[i] = i;
for(i=2;i<=n;++i)
{
if (phi[i]==i)
for (j=i;j<=n;j+=i) phi[j] /=i, phi[j] *= (i-1);
nr += (2 * phi[i]) - 1;
}
nr += n ;
fprintf(out,"%lld", nr);
}
