Cod sursa(job #326511)
| Utilizator | Data | 25 iunie 2009 14:20:19 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main(){
ifstream in;
ofstream out;
int N, i, j;
long long sol = 0;
in.open("fractii.in");
in >> N;
in.close();
int mult[N+1];
for (i=2;i <= N;i++)
mult[i] = i;
for (i=2; i <= N; i++)
{
if (mult[i] == i)
{
for (j=i; j <= N/i; j += i)
{
mult[j] *= (i - 1);
mult[j] /= i;
}
}
sol += mult[i];
}
out.open("fractii.out");
sol = sol*2 + 1;
out << sol;
out.close();
return 0;
}
