Pagini recente » Cod sursa (job #2067546) | Cod sursa (job #766293) | Cod sursa (job #2515897) | Cod sursa (job #143238) | Cod sursa (job #671195)
Cod sursa(job #671195)
#include <vector>
#include <cstdio>
#include <cmath>
#define DN 1000002
using namespace std;
vector<int> v;
bool p[DN+5];
int main()
{
freopen("ssnd.in","r", stdin);
freopen("ssnd.out","w", stdout);
for(int i=2;i<=DN;i++)
{
if(p[i]==0)
{
for(int j=i+i;j<=DN;j+=i)
{
p[j]=1;
}
v.push_back(i);
}
}
int n,nr;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
unsigned int nrdiv=1,S=1;
scanf("%d",&nr);
int p=0,f=2,ind=0;
while(f*f<=nr || nr!=1)
{
p=0;
while(nr%f==0)
{
nr/=f;
p++;
}
if(p)
{
//cout<<" puteri : ";
S*=int((( pow(double(f),double(p+1))-1)/double(f-1)))%9973;
//cout<<(( pow(double(f),double(p+1))-1)/double(f-1))<<endl;
nrdiv*=(p+1);
}
ind++;
f=v[ind];
}
printf("%d %d\n",nrdiv,S);
}
return 0;
}