Cod sursa(job #469493)
| Utilizator | Data | 7 iulie 2010 21:49:00 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <iostream>
#include <fstream>
using namespace std;
long long nr;
long ciur_eratostene[2000001];
int main()
{
long i,n,j;
ifstream f;
ofstream g;
f.open("fractii.in");
g.open("fractii.out");
f>>n;
for(i = 2 ; i<=n;i++)
ciur_eratostene[i]= i-1;
for(i = 2 ; i<=n ;i++)
for(j = 2*i; j<=n; j +=i )
ciur_eratostene[j] -= ciur_eratostene[i];
for(i = 2 ; i<=n ;i++)
nr= nr + ciur_eratostene[i];
g<<nr*2+1;
f.close();
g.close();
return 0;
}