Pagini recente » Cod sursa (job #1943755) | Cod sursa (job #2056454) | Cod sursa (job #1160486) | Cod sursa (job #551238) | Cod sursa (job #1448881)
#include <fstream>
#include <bitset>
using namespace std;
ifstream f("sum.in");
ofstream g("sum.out");
int a[10000],l,i,j,nr,n,x,vd,phi[100001];
long long c,d;
bitset <100001> viz;
int main()
{
a[l=1]=2;
for (i=3;i<=1000;i+=2)
if (viz[i]==false)
{
a[++l]=i;
j=i*i;
if (j/i==i)
for (j=i*i;j<=1000;j+=i)
viz[j]=true;
}
for (i=2;i<=100000;i++)
{
vd=i;nr=1;
for (j=1;a[j]*a[j]<=i;j++)
{
if (vd%a[j]==0)
{
nr*=(a[j]-1);
vd/=a[j];
while(vd%a[j]==0)
nr*=a[j],vd/=a[j];
}
}
if (vd>1) nr*=(vd-1);
phi[i]=nr;
}
f>>n;
for (i=1;i<=n;i++)
{
f>>x;
c=2*phi[x];
d=x;
c*=d;
g<<c<<'\n';
}
return 0;
}