Pagini recente » Cod sursa (job #2219663) | Cod sursa (job #1442043) | Cod sursa (job #1922770) | Cod sursa (job #394425) | Cod sursa (job #442616)
Cod sursa(job #442616)
#include<cstdio>
const int N=10005;
const int MOD=9973;
bool prim[N];
int p[N],nr;
void ciur()
{
for (int i=2;i<N;i++)
if (!prim[i])
{
nr++;
p[nr]=i;
for (int j=i*i;j<N;j+=i)
prim[j]=true;
}
}
int pow(int x,int p)
{
int rez=1;
x%=MOD;
for (;p;p>>=1)
{
if (p&1)
{
rez*=x;
rez%=MOD;
}
x*=x;
x%=MOD;
}
return rez;
}
void rez(int x)
{
int nd=1,sd=1;
int nn=x;
for (int i=1;1LL*p[i]*p[i]<=x;i++)
{
if (x%p[i])
continue;
int pp=0,s=1;
while (nn%p[i]==0)
{
x/=p[i];
s*=p[i];
pp++;
}
nd*=(pp+1);
sd*=((1LL*s*p[i]-1)%MOD);
sd%=MOD;
sd*=pow(p[i]-1,MOD-2);
sd%=MOD;
}
if (nn>1)
{
nd*=2;
sd*=((1LL*nn*nn-1)%MOD);
sd%=MOD;
sd=pow(nn-1,MOD-2);
sd%=MOD;
}
printf("%d %d\n",nd,sd);
}
int main()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
ciur();
int n;
scanf("%d",&n);
for (int i=1;i<=n;i++)
{
int x;
scanf("%d",&x);
}
return 0;
}