Cod sursa(job #2029257)
Utilizator | Data | 29 septembrie 2017 18:58:56 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.67 kb |
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int n, i, j, num, *phi, nr;
int main(){
while ( fin>>n ){
nr=0;
phi = new int[n+1];
for (int i = 1; i <= n; i++)
phi[i] = i-1;
for (int i = 2; i <= n; ++i)
for (int j = 2*i; j <= n; j += i)
phi[j] -= phi[i];
for( i=1; i<=n; i++)
nr+=phi[i];
fout<<2*nr+1<<'\n';
}
return 0;
}