Pagini recente » Cod sursa (job #944028) | Cod sursa (job #1411266) | Cod sursa (job #1296268) | Cod sursa (job #1133386) | Cod sursa (job #1151540)
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long n,m,i,t,j,k,l,o,sdf,nrf,nrprim[78500];
bool a[10000002];
void ciur()
{
long i,j;
for(i=2;i<=1000000;i++)
{
if(a[i]==0)
{
for(j=i+i;j<=1000000;j+=i) a[j]=1;
nrprim[0]++;
nrprim[nrprim[0]]=i;
}
}
}
void desc(int k)
{
long long i,j,nrp,nrd;
nrf=sdf=1;
if(a[k]==0)
{
g<<2<<" "<<k+1%9973<<"\n";
}
else
{
for(i=1;i<=nrprim[0]&&k>1;i++)
{
if(k%nrprim[i]==0)
{
nrp=nrprim[i];
nrd=0;
while(k%nrp==0)
{
k=k/nrp;
nrd++;
}
nrf*=(nrd+1);
sdf*=((pow(nrp,nrd+1)-1)/(nrp-1));
sdf%=9973;
}
}
g<<nrf<<" "<<sdf%9973<<"\n";
}
}
int main()
{
f>>t;
ciur();
while(t--)
{
f>>k;
desc(k);
}
return 0;
}