Pagini recente » Cod sursa (job #1885542) | Cod sursa (job #626623) | Cod sursa (job #2472513) | Cod sursa (job #2514822) | Cod sursa (job #1605360)
#include<fstream>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
bool ciur[1000005];
unsigned nrprime[79000];
unsigned i,j,m;
unsigned long long sumdiv,nrdiv,n,a,k,p;
void ciur_v()
{
for(i=2;i<=1000000;i++)
{
if(ciur[i]!=1)
{
nrprime[m]=i;
m++;
for(j=i*i;j<=1000000;j+=i)
{
ciur[i]=1;
}
}
}
}
int main()
{
ciur_v();
fin>>n;
j=0;
for(i=1;i<=n;i++)
{
fin>>a;
sumdiv=1;
nrdiv=1;
while(nrprime[j]*nrprime[j]<=a)
{
k=0;
p=nrprime[j];
while(a%nrprime[j]==0)
{
a/=nrprime[j];
k++;
p*=nrprime[j];
}
if(p)
{
nrdiv*=(k+1)%9973;
sumdiv*=((p-1)/(nrprime[j]-1))%9973;
}
j++;
}
if(a!=1)
{
nrdiv*=2%9973;
sumdiv*=(a+1)%9973;
}
fout<<nrdiv<<" "<<sumdiv<<"\n";
}
return 0;
}