
`gmp_pow` 함수는 두 개의 인자를 받습니다. 첫 번째 인자는 밑수, 두 번째 인자는 지수입니다.
위 코드에서 오류가 발생하는 이유는 `gmp_pow` 함수의 두 번째 인자 `b`가 정수 인자가 아닌 `mpz_t` 타입의 변수인 때문입니다.
`gmp_pow` 함수의 두 번째 인자 `b`는 정수 인자가 아닌 `mpz_t` 타입의 변수가 아닌 정수를 전달해야 합니다.
`gmp_pow` 함수의 사용법을 바꾸어 보겠습니다.
#hostingforum.kr
c
#include
int main() {
mpz_t a, b, result;
mpz_init(a);
mpz_init(b);
mpz_init(result);
mpz_set_str(a, "10", 10);
mpz_set_str(b, "2", 10);
gmp_pow(a, 2, result); // 두 번째 인자 b를 정수 2로 전달
return 0;
}
위 코드에서 `gmp_pow` 함수의 두 번째 인자 `b`를 정수 2로 전달했습니다.
또는 `gmp_pow` 함수의 두 번째 인자 `b`를 `mpz_set_ui` 함수를 사용하여 정수 2로 초기화한 후 전달할 수도 있습니다.
#hostingforum.kr
c
#include
int main() {
mpz_t a, b, result;
mpz_init(a);
mpz_init(b);
mpz_init(result);
mpz_set_str(a, "10", 10);
mpz_set_str(b, "2", 10);
mpz_set_ui(b, 2); // 두 번째 인자 b를 정수 2로 초기화
gmp_pow(a, b, result);
return 0;
}
위 코드에서 `gmp_pow` 함수의 두 번째 인자 `b`를 `mpz_set_ui` 함수를 사용하여 정수 2로 초기화한 후 전달했습니다.
2025-07-21 12:13