Pagini recente » Cod sursa (job #364503) | Cod sursa (job #1645227) | Cod sursa (job #2499368) | Cod sursa (job #1838720) | Cod sursa (job #415760)
Cod sursa(job #415760)
# include <fstream.h>
# include <math.h>
ifstream f ("sumdiv.in");
ofstream g ("sumdiv.out");
long long a[1000000],b[1000000],x,y,q,k,n,i,s,mod=9901,j,w;
long long asd (long long a,long long b)
{
if (b==1)
return a%mod;
if (b%2==0)
return asd(a,b/2)%mod * asd(a,b/2)%mod;
else
return (asd (a,b-1)*a)%mod;
}
int main ()
{
f>>x>>y;
for (i=2;i<=sqrt (x);i++)
{
q=0;
while (x%i==0)
{
q++;
x=x/i;
}
if (q)
{
n++;
a[n]=i;
b[n]=q;
}
}
if (x>1)
{
n++;
a[n]=x;
b[n]=1;
}
for (i=1;i<=n;i++)
b[i]=b[i]*y;
s=1;
for (i=1;i<=n;i++)
{
x=( asd (a[i],b[i]+1)+mod-1)*asd(a[i]-1,mod-2);
x=x%mod;
s=s*x;
s=s%mod;
}
g<<s;
return 0;
}