Pagini recente » Cod sursa (job #364680) | Cod sursa (job #2440221) | Cod sursa (job #2408671) | Cod sursa (job #1043332) | Cod sursa (job #34450)
Cod sursa(job #34450)
#include <fstream.h>
#include <iomanip.h>
#include <math.h>
long long p[1000000],f[1000000],i,j,n,max,aux;
fstream in("fractii.in",ios::in);
fstream out("fractii.out",ios::out);
int main(){
in>>n; max=(long long)sqrt(n);
for (i=2;i<=max;i++){
if (!p[i]){
p[i]=1;f[i]=i-1;
for (j=2;j<=n/i;j++){
aux=i*j;
while (aux%i==0) aux=aux/i;
if (aux==1) f[i*j]=(i-1)*j;
p[i*j]=aux;
}
}
}
aux=0;
for (i=2;i<=n;i++) {
if (!f[i])
if (p[i]) f[i]=f[p[i]]*f[i/p[i]];
else f[i]=i-1;
aux+=f[i];
}
out<<2*aux+1;
in.close(); out.close();
return 0;
}