PS

백준 13171 A

남마허 2021. 4. 6. 19:03

www.acmicpc.net/problem/13171

 

 

 

 

 


 

 

 

<코드>

#include <iostream>
#include <algorithm>
#include <math.h>
using namespace std;

#define M 1000000007

long long A, X;
long long Ax[65];

int main() {
	cin >> A;
	cin >> X;
	A %= M;

	Ax[0] = A;
	for (int i = 1; i < 64; i++) {
		Ax[i] = (Ax[i - 1] * Ax[i - 1]) % M;
	}

	long long tX = X;
	long long res = 1;
	while (tX != 0) {
		if (tX % 2) {
			res *= Ax[dep];
			res %= M;
		}
		tX /= 2;
	}
	cout << res << '\n';

	return 0;
}

 

 

 

 

반응형