Cod sursa(job #530464)
Utilizator | Data | 7 februarie 2011 20:46:47 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.37 kb |
#include <fstream>
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
int v[1000001],n;
void euler()
{
int i,j;
for (i=1; i<=n;i++)
v[i]=i;
for (i=2;i<=n;i++)
if(v[i]==i)
for(j=i;j<=n;j+=i)
v[j]=v[j]/i*(i-1);
}
int main()
{
int s=1,i;
in>>n;
euler();
for (i=2;i<=n;i++)
s+=2*v[i];
out<<s;
return 0;
}