Cod sursa(job #1334809)
| Utilizator | Data | 4 februarie 2015 17:53:43 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <fstream>
#define nmax 1000000
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int N, v[nmax];
long long nrFrc;
int main()
{int i, j, nrMult, jum;
f>>N;
nrFrc = N * (N - 1) + 1;
jum = N / 2 + 1;
for(i = 2; i <= jum; ++i){
nrMult = 0;
if(!v[i]){
for(j = i + i; j <= N; j += i){
nrFrc -= 2;
++nrMult;
v[j] = true;
}
nrFrc -= nrMult * (nrMult - 1);
}
}
g<<nrFrc << '\n';
return 0;
}
