Pagini recente » Cod sursa (job #1899533) | Cod sursa (job #1087250) | Cod sursa (job #91098) | Cod sursa (job #2476653) | Cod sursa (job #2285285)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
const int r=9901;
long long powlog(long long int a,long long int b)
{long long val=1;
while(b!=0)
{if(b%2==0)
{
{b/=2;
a*=a;
a%=r;
}
}
else
{b--;
val*=a;
val%=r;
}
}
return val;
}
long long int p=0,j;
void desc(long long int n,long long int d)
{ p=0;
while(n%d==0)
{n/=d;
p++;
}
}
int main()
{
long long s=1,j,i,a,b;
f>>a>>b;
desc(a,2);
if(p!=0)
{s=powlog(2,b+1);
s--;
s%=r;
}
for(i=3;i*i<=a;i+=2)
{if(a%i==0)
{desc(a,i);
s*=powlog(i,b+1);
s--;
s/=i-1;
s%=r;
}
}
g<<s;
return 0;
}