Pagini recente » Cod sursa (job #2535282) | Cod sursa (job #321975) | Cod sursa (job #1453911) | Cod sursa (job #230272) | Cod sursa (job #1092967)
#include <fstream>
#include <cstdio>
#include <cmath>
using namespace std;
FILE * f;
ofstream g("ssnd.out");
long long j, i;
int n, nrp, t, s, nd, x, p, p1, a[100001], v[32001];
int main()
{f= fopen("ssnd.in", "r");
fscanf(f, "%d", &n);
a[1]= 1;
for(i= 2; i<=100000; i++)
if(a[i]==0)
{
nrp++;
v[nrp]= i;
for(j= i*i; j<=100000; j= j+i)
a[j]= 1;
}
for(t= 1; t<=n; t++)
{
s= 1;
nd= 1;
fscanf(f, "%d", &x);
for(i= 1; i<=nrp; i++)
if(v[i]*v[i]>x)
break;
else
{
p= 0;
while(x%v[i]==0)
{
p++;
x= x/v[i];
}
if(p>0)
{
nd= nd*(p+1);
p1= pow(v[i], p+1)-1;
s= s*p1/(v[i]-1);
}
}
if(x>1)
{
nd= nd*2;
s= s*(x+1);
}
g<<nd<<' '<<s<<'\n';
}
return 0;
}