Pagini recente » Cod sursa (job #1353298) | Cod sursa (job #834741) | Rating Monea Andreea (AnDrEeA1915) | Cod sursa (job #1086073) | Cod sursa (job #735698)
Cod sursa(job #735698)
#include<fstream>
#define MOD 9973
using namespace std;
int T,nrd,nrp;
long long n,prime[200000],suma;
bool ciur[1000100];
void Precalculare_Ciur()
{
long long i,j;
prime[++nrp]=2LL;
for(i=3LL;i<=1000000LL;i+=2LL)
{
if(!ciur[i])
{
prime[++nrp]=i;
for(j=i*i;j<=1000000LL;j+=2LL*i)
ciur[j]=true;
}
}
}
int main()
{
int t,d,nr;
long long put,fact,termen;
Precalculare_Ciur();
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
fin>>T;
for(t=1;t<=T;t++)
{
fin>>n;
d=1;
nrd=1;
suma=1LL;
while(d<=nrp && prime[d]*prime[d]<=n)
{
fact=prime[d];
if(n%fact==0LL)
{
put=fact%MOD;
nr=0;
termen=1LL;
while(n%fact==0LL)
{
nr++;
termen+=put;
if(termen>=MOD)
termen-=MOD;
n/=fact;
put*=fact;
}
nrd*=(nr+1);
suma*=termen;
suma%=MOD;
}
while(d<=nrp && n%fact!=0LL && prime[d]*prime[d]<=n)
{
d++;
fact=prime[d];
}
}
if(n>1LL)
{
nrd*=2;
suma*=(n+1LL);
suma%=MOD;
}
fout<<nrd<<' '<<suma<<"\n";
}
fin.close();
fout.close();
return 0;
}