Pagini recente » Cod sursa (job #2351757) | Cod sursa (job #3030821) | Cod sursa (job #1181326) | Cod sursa (job #1411647) | Cod sursa (job #1956084)
#include <fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long int n,i,j,ciur[1000003],contor,a[100000],nd,Suma,x,p,d,puterea;
int main()
{
f>>n;
for(i=2; i*i<=1000000; i++)
if(!ciur[i])
for(j=2; j*i<=1000000; j++)
ciur[i*j]=1;
contor=0;
for(i=2; i<=1000000; i++)
if(!ciur[i])
a[++contor]=i;
for(i=1; i<=n; i++)
{
f>>x;
nd=1;
Suma=1;
d=a[1];
contor=2;
while(d*d<=x&&x!=1)
{
p=0;
while(x%d==0)
{
p++;
x/=d;
}
if(p)
{
nd*=(p+1);
puterea=1;
for(j=1; j<=p+1; j++)
puterea*=d;
Suma*=((puterea-1)/(d-1));
}
d=a[contor];
contor++;
}
if(x!=1)
{
nd*=2;
Suma*=((x*x-1)/(x-1));
}
g<<nd<<' '<<Suma<<'\n';
}
return 0;
}