
gmp_nextprime 함수는 현재 소수보다 큰 또는 작은 다음 소수를 반환하는 함수입니다.
- 첫 번째 인자는 현재 소수입니다.
- 두 번째 인자는 0이면 현재 소수보다 큰 다음 소수를 반환하고, 1이면 현재 소수보다 작은 다음 소수를 반환합니다.
예를 들어, 100이 소수인지 확인하고, 현재 소수보다 큰 다음 소수를 찾으려면 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
#include
int main() {
mpz_t num;
mpz_init(num);
mpz_set_str(num, "100", 10);
mpz_t next_prime;
mpz_init(next_prime);
mpz_set(next_prime, num);
if (mpz_probab_prime_p(num, 5) == 2) {
mpz_set(next_prime, gmp_nextprime(next_prime, 0));
printf("현재 소수보다 큰 다음 소수: %Zdn", next_prime);
}
mpz_clear(num);
mpz_clear(next_prime);
return 0;
}
이 예제에서는 100이 소수인지 확인하고, 소수인 경우 현재 소수보다 큰 다음 소수를 찾습니다.
반면, 100이 소수인지 확인하고, 현재 소수보다 작은 다음 소수를 찾으려면 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
#include
int main() {
mpz_t num;
mpz_init(num);
mpz_set_str(num, "100", 10);
mpz_t next_prime;
mpz_init(next_prime);
mpz_set(next_prime, num);
if (mpz_probab_prime_p(num, 5) == 2) {
mpz_set(next_prime, gmp_nextprime(next_prime, 1));
printf("현재 소수보다 작은 다음 소수: %Zdn", next_prime);
}
mpz_clear(num);
mpz_clear(next_prime);
return 0;
}
이 예제에서는 100이 소수인지 확인하고, 소수인 경우 현재 소수보다 작은 다음 소수를 찾습니다.
위 예제를 실행하면, 현재 소수보다 큰 다음 소수와 현재 소수보다 작은 다음 소수가 출력됩니다.
2025-06-09 20:02