Pagini recente » Cod sursa (job #101703) | Cod sursa (job #2167015) | Cod sursa (job #2640524) | Cod sursa (job #1016447) | Cod sursa (job #3301212)
#include <algorithm>
#include <fstream>
#include <iomanip>
using namespace std;
#define MOD 1999999973
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int f(long long nr, long long p) {
if (p == 0)
return 1;
if (p == 1)
return nr;
if (p % 2 != 0)
return (nr * f(nr, p - 1)) % MOD;
long long x = f(nr, p / 2);
return (x * x) % MOD;
}
int main() {
long long n, p;
fin >> n >> p;
fout << f(n, p);
return 0;
}
// // https: // infoarena.ro/problema/lgput
// #include <cstdio>
// #define DN 1999999973
// using namespace std;
// int f(int nr,int p)
// {
// if(p==1) return nr;
// else if(p==0) return 1;
// else
// {
// if(p%2!=0)
// {
// return (nr*f(nr,p-1))%DN;
// }
// int x=f(nr,p/2);
// return (x*1LL*x)%DN;
// }
// }
// int main()
// {
// int nr,put;
// freopen("lgput.in","r", stdin);
// freopen("lgput.out","w", stdout);
// scanf("%d %d",&nr,&put);
// printf("%d",f(nr,put));
// return 0;
// }