Pagini recente » Cod sursa (job #248162) | Cod sursa (job #854022) | Cod sursa (job #2800292) | Cod sursa (job #616678) | Cod sursa (job #3250992)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define mod 9901
#define il long long
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
il aux,x,y;
void eucl(int a,int b){
if(!b){
x=1;
y=0;
}
else{
eucl(b,a%b);
aux=x;
x=y;
y=aux-(a/b)*y;
cout<<x<<" "<<y<<'\n';
}
}
int main()
{
il a,b,suma=1,i,expo,j;
fin>>a>>b;
for(int i=2;i*i<=a;i++){
expo=i;
if(a%i){
while(a%i==0){
for(j=1;j<=b;j++)
expo=(expo*(i%mod))%mod;
a=a/i;
}
if(i-1>mod)eucl(i-1,mod);
else eucl(mod,i-1);
while(y<0){
y=y+mod;
}
suma=(suma*(((expo-1)*y)%mod))%mod;
}
}
if(a>1){
expo=a;
for(j=1;j<=b;j++)
expo=(expo*(a%mod))%mod;
if(a-1>mod)eucl(a-1,mod);
else eucl(mod,a-1);
while(y<0){
y=y+mod;
}
suma=(suma*(((expo-1)*y)%mod))%mod;
}
fout<<suma;
}