Pagini recente » Cod sursa (job #2901816) | Cod sursa (job #4229) | Cod sursa (job #3135145) | Cod sursa (job #1271517) | Cod sursa (job #2772355)
#include <iostream>
#include <fstream>
const int C=9901;
using namespace std;
int sumdiv(int a,int b){
int x,y;
x=a%C;
y=1;
while (b!=0){
if (b%2==1){
y=y*x%C;
}
x=x*x%C;
b=b/2;
}
return y;
}
int main()
{
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
int a,b,p,nr,x,y;
f>>a>>b;
p=1;
if (a%2==0){
nr=0;
while (a%2==0){
nr=nr+1;
a=a/2;
}
nr=nr*b+1;
x=(sumdiv(2,nr)-1)%C;
p=p*x%C;
}
for (int i=3;i*i<=a;i=i+2){
if (a%i==0){
nr=0;
while (a%i==0){
nr=nr+1;
a=a/i;
}
nr=nr*b+1;
x=(sumdiv(i,nr)-1)%C;
y=sumdiv(i-1,C)%C;
p=(((p*x%C)*y)%C)%C;
}
}
if (a>1){
p=p*(a+1)%C;
}
g<<p;
return 0;
}