Pagini recente » Cod sursa (job #978817) | Cod sursa (job #1272662) | Cod sursa (job #2967102) | Cod sursa (job #2977140) | Cod sursa (job #2352581)
#include <bits/stdc++.h>
using namespace std;
long long N, K, rest;
long long lgput(long long x, long long n){
if(n == 0)
return 1;
else {
if(n == 1)
return x % K;
else {
if(n % 2 == 0)
return lgput(x * x % K, n / 2) % K;
else
return x * lgput(x * x % K, (n - 1) / 2) % K;
}
}
}
int main(){
freopen("inversmodular.in", "r", stdin);
freopen("inversmodular.out", "w", stdout);
scanf("%lld%lld", &N, &K);
printf("%lld", lgput(N, N));
return 0;
}