zoskeksk   7년 전

long long으로 선언이 되었을때 비트연산자가 왜 안되는거죠

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);


zych1751   7년 전

b >>= 1;

을 해야하지 않을까요?

zoskeksk   7년 전

감사합니다 이런 초보적인 실수를..

댓글을 작성하려면 로그인해야 합니다.