Pagini recente » Cod sursa (job #1552058) | Cod sursa (job #2767549) | Cod sursa (job #195664) | Cod sursa (job #90890) | Cod sursa (job #735575)
Cod sursa(job #735575)
#include<fstream>
#define MOD 9973
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int n,nr,t,i,s,p1,p2,nd,m,nrd,sd;
int v[100000];
int putere(int n,int p)
{int x=1,nr=n;
while(p)
{if(p&1)
x=(x*nr)%MOD;
nr=(nr*nr)%MOD;
p/=2;
}
return x;
}
bool a[1000001];
void ciur()
{int i,j;
v[1]=2;
for(i=3;i<=1000;i=i+2)
if(a[i]==0)
for(j=i*i;j<=1000000;j=j+i)
a[j]=1;
nr=1;
for(i=3;i<=1000000;i=i+2)
if(a[i]==0)
++nr,v[nr]=i;
}
int main()
{f>>t;
ciur();
for(s=1;s<=t;++s)
{f>>n;
nrd=1;
sd=1;
m=n;
for(i=1;v[i]*v[i]<=m&&n!=1;++i)
if(n%v[i]==0)
{nr=0;
while(n%v[i]==0)
{++nr;
n/=v[i];
}
nrd=(nrd*(nr+1))%MOD;
p1=(putere(v[i],nr+1)-1)%MOD;
p2=putere(v[i]-1,MOD-2)%MOD;
sd=(((sd*p1)%MOD)*p2)%MOD;
}
if(n!=1)
{nrd=(nrd*2)%MOD;
sd=(sd*(n+1))%MOD;
}
g<<nrd<<' '<<sd<<'\n';
}
return 0;
}