Pagini recente » Cod sursa (job #429636) | Cod sursa (job #698790) | Cod sursa (job #1119917) | Cod sursa (job #851288) | Cod sursa (job #118646)
Cod sursa(job #118646)
#include<fstream.h>
#include<math.h>
int prim(unsigned long x)
{unsigned long jum;
jum=sqrt(x);
unsigned long i;
if(x==2) return 1;
if((x%2)==0) return 0;
for(i=3;i<=jum;i=i+2)
{if((x%i)==0) return 0;
}
return 1;
}
int main()
{ifstream f("sum.in");
ofstream g("sum.out");
unsigned long x,n,i,j,x2,jj,max,xx;
f>>n;
unsigned long v[200000],xx2;
for(i=1;i<=n;i++)
{f>>x;
x2=((x*2)*((x*2)+1))/2;
if(prim(x)) g<<(x2-x-(2*x))<<'\n';
else
{xx2=x*2;
for(j=1;j<=xx2;j++) v[j]=j;
max=x2;
xx=x/2;
for(j=2;j<=xx;j++)
{if((x%j)==0)
{for(jj=2;jj<=xx2;jj++)
if(((jj%j)==0)&&(v[jj])) {max-=v[jj];v[jj]=0;}
}
}
g<<max<<'\n';
}
}
f.close();
g.close();
return 0;
}