Cod sursa(job #767567)
| Utilizator | Data | 13 iulie 2012 20:30:16 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <fstream>
using namespace std;
ifstream fi;
ofstream fo;
unsigned int phi[1000001];
int n;
int suma;
int main(){
fi.open("fractii.in");
fi >> n;
fi.close();
for (int i = 0; i <= n; i++){
phi[i] = i;
}
for (int i = 2; i <= n; i++){
if (phi[i] == i){
for (int j = i; j <= n; j+= i){
phi[j] /= i;
phi[j] *= (i-1);
}
}
}
suma = 0;
for (int i = 2; i <= n; i++){
suma += 2*phi[i];
}
suma++;
fo.open("fractii.out");
fo << suma;
fo.close();
return 0;
}
