Pagini recente » Cod sursa (job #2068261) | Cod sursa (job #156633) | Joc pe grid | Cod sursa (job #952952) | Cod sursa (job #432952)
Cod sursa(job #432952)
#include<fstream>
#include<cstdio>
#include<vector>
#include<cmath>
#define pb push_back
#define maxn 100003
#define infi 2100000000
using namespace std;
int n, ciur[maxn], modulo=9973;
int main()
{
int i, j, T;
ifstream fin("ssnd.in");
freopen("ssnd.out", "w", stdout);
for(i=2;i<=maxn-2;i++)
ciur[i]=1;
for(i=2;i<=maxn-2;i++)
if(ciur[i])
{
for(j=i+i ; j<=maxn-2; j+=i)
ciur[j] = 0;
}
fin>>T;
while(T--)
{
int s=1, rez=1, nr;
fin>>n;
int copy=n;
for(i=2;i*i<=n;i++)
if(ciur[i] && n%i==0)
{
nr=0;//i de nr ori
while(copy%i==0)
copy/=i, nr++;
s*=((int(pow(double(i), nr+1)))-1)/(i-1);
rez*=(nr+1);
}
if(ciur[n])
{
nr=1;
i=n;
s*=((int(pow(double(i), nr+1)))-1)/(i-1);
rez*=(nr+1);
}
printf("%d %d\n", rez, s);
}
return 0;
}