Pagini recente » Cod sursa (job #2287818) | Cod sursa (job #237609) | Cod sursa (job #377778) | Cod sursa (job #1056236) | Cod sursa (job #314506)
Cod sursa(job #314506)
#include<cstdio>
#include<cstdlib>
#include<cstring>
int *marcat;
int n;
int main()
{int i,j;
FILE*f=fopen("fractii.in","r");
fscanf(f,"%d",&n);
fclose(f);
marcat=(int*)malloc((n+1)*sizeof(int));
for(i=1;i<=n;++i) marcat[i]=1;
long long sum=1;
int p,k;
for(i=2;i<=n;++i)
{if(marcat[i]!=1) sum+=2*marcat[i];
else
{sum+=2*(i-1);
p=1;
for(k=1;k<i;++k)
for(j=i;j*k<=n;j*=i)
marcat[j*k]*=(i-1)*j/i;
}
}
FILE *g=fopen("fractii.out","w");
fprintf(g,"%lld",sum);
return 0;
}