Pagini recente » Cod sursa (job #1519642) | Cod sursa (job #204892) | Cod sursa (job #2044142) | Cod sursa (job #320906) | Cod sursa (job #997580)
Cod sursa(job #997580)
#include <stdio.h>
#include <stdlib.h>
char v[200000];
int main()
{ FILE*fi,*fout;
int nr1,j1,n,i,r;
long long nr,s,j;
fi=fopen("sum.in" ,"r");
fout=fopen("sum.out" ,"w");
fscanf(fi,"%d\n" ,&n);
for(i=2;i*i<=200000;i++)
if(v[i]==0)
for(j=i*i;j<=200000;j=j+i)
v[j]=1;
for(i=0;i<n;i++)
{
fscanf(fi,"%lld\n" ,&nr);
if(nr!=2&&(v[nr]==0||nr==1))
fprintf(fout,"%d\n" ,((nr*2-1)*nr*2)/2-nr);
else
{
s=1;
for(j=2;j<2*nr;j++)
{
j1=j;
nr1=nr;
if(j>nr&&v[j]==0)
s=s+j;
else
{
while(nr1>0)
{
r=j1%nr1;
j1=nr1;
nr1=r;
}
if(j1==1)
s=s+j;
}
}
fprintf(fout,"%lld\n" ,s);
}
}
fclose(fi);
fclose(fout);
return 0;
}