Pagini recente » Cod sursa (job #1279688) | Cod sursa (job #712247) | Cod sursa (job #476568) | Cod sursa (job #1795596) | Cod sursa (job #900731)
Cod sursa(job #900731)
#include <stdio.h>
#include <math.h>
using namespace std;
FILE *f=fopen("sumdiv.in","r");
FILE *g=fopen("sumdiv.out","w");
int MOD=9901;
int v[500001],a,b,aa,i,sum,nr,j,p,k;
void ciur()
{
int i;
v[2]=1;
for(i=3;i<=sqrt(a);i+=2)
if (v[i]==1)
for(j=i+i;j<=sqrt(a);j+=i)
v[j]=0;
}
int main()
{
fscanf(f,"%d %d",&a,&b);
ciur();
aa=a;
sum=1;
for(i=2;i<=sqrt(aa);i++)
{
if (v[i]==1)
{
p=0;
while(aa%i==0){p++;aa=aa/i;}
nr=p*b;
k=1;
for(j=1;j<=nr+1;j++)
k=(k*i)%MOD;
sum=sum*((k-1)/(i-1))%MOD;
}
}
if (aa!=1)
{
nr=b;
k=1;
for(j=1;j<=nr+1;j++)
k=(k*aa)%MOD;
sum=sum*(k/aa-1)%MOD;
}
fprintf(g,"%d",sum);
fclose(g);
return 0;
}