Cod sursa(job #2097780)
| Utilizator | Data | 1 ianuarie 2018 17:30:15 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
#define NM 1000002
using namespace std;
int n, phi[NM], mark[NM];
long long rez;
int main()
{
ifstream fin ("fractii.in");
ofstream fout ("fractii.out");
fin >> n;
for(int i = 2; i <= n; i++)
{
if(mark[i] == 0)
{
for(int j = 2; i * j <= n; j++)
{
phi[i * j] += j - 1;
mark[i * j] = 1;
}
}
rez += i - phi[i] - 1;
}
fout << rez * 2 + 1;
return 0;
}
