long long result = 1; int arr[100]; long long a, b; scanf("%lld %lld", &a, &b); result = 1; while (b > 0) { if (b & 1 == 1) { result = ((result%d)*(a%d)) % d; } a = (a%d)*(a%d) % d; b /= 2; <--- 이부분인데 이렇게하면되고 b >>1; 하면 인식을 안하는데 왜그런거죠? } printf("%lld", result);
zoskeksk 7년 전
long long result = 1;
int arr[100];
long long a, b;
scanf("%lld %lld", &a, &b);
result = 1;
while (b > 0)
{
if (b & 1 == 1)
{
result = ((result%d)*(a%d)) % d;
}
a = (a%d)*(a%d) % d;
b /= 2; <--- 이부분인데 이렇게하면되고 b >>1; 하면 인식을 안하는데 왜그런거죠?
}
printf("%lld", result);