Pagini recente » Cod sursa (job #2712383) | Cod sursa (job #1470408) | Cod sursa (job #1676717) | Cod sursa (job #2736191) | Cod sursa (job #51809)
Cod sursa(job #51809)
#include<stdio.h>
#include<string.h>
int main () {
int n,i,j,p;
char c[1000001];
long long s=0;
FILE *in=fopen("fractii.in","r"), *out=fopen("fractii.out","w");
fscanf(in,"%d",&n);
memset(c,1,(n+1)*sizeof(c[0]));
c[0]=0;
c[1]=0;
for(i=2;i<=n;i++)
if(c[i])
for(j=i+i;j<=n;j+=i)
c[j]=0;
for(i=2;i<=n;i++){
if(c[i])
s=s+i-1;
else{
p=i;
for(j=2;j+j<=i;j++)
if(c[j]&&i%j==0)
p=(p/j)*(j-1);
s+=p;
}
}
s=1+2*s;
fprintf(out,"%lld\n",s);
fclose(in);
fclose(out);
return 0;
}