Pagini recente » Diferente pentru problema/algoritm intre reviziile 80 si 18 | Diferente pentru problema/algoritm intre reviziile 58 si 80 | Cod sursa (job #1390854) | Cod sursa (job #158938) | Cod sursa (job #2258867)
#include <bits/stdc++.h>
using namespace std;
unsigned int n,p;
typedef unsigned long long ull;
#define ll long long
ifstream fin("lgput.in");
ofstream fout("lgput.out");
const int k=1999999973;
ull putere(unsigned int n,unsigned int p){
if (p==0) return 1;
else if (p==1) return n%k;
else if(p%2==0) return putere(((n%k)*(n%k))%k,p/2);
else if(p%2!=0) return putere(((n%k)*(n%k))%k,p/2)*n%k;
}
int main(){
fin>>n>>p;
fout<<putere(n,p);
}