Pagini recente » Cod sursa (job #2837420) | Cod sursa (job #590482) | Cod sursa (job #961223) | Cod sursa (job #3125710) | Cod sursa (job #2834304)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("igput.in");
ofstream cout("igput.out");
int b,n,p;
int moduloP=1;
void read(){
cin>>b>>n;
//>>p;
moduloP=1999999973;
// while(p>0){
// moduloP*=10;
// p--;
// }
}
long calculate(int base,int exp){
///base cond
if(exp==1){
return base;
}
int res= calculate(base,exp/2);
///recursive function
if((1&exp)){
return (res%moduloP)*((res%moduloP)*(res%moduloP))*base;
}
else{
return (res%moduloP)*(res%moduloP);
}
}
void solve(){
int number=1;
while(n>1){
if(n%2==1){
number*=b;
n--;
}
else{
b*=2;
n/=2;
}
}
cout<<number*b;
}
int main() {
read();
cout<<calculate(b,n)%moduloP;
// solve();
return 0;
}