모듈화 된 지수 계산을 수행하기 위해 다음과 같은 간단한 함수를 작성했습니다. 그러나 지수 매개 변수가 약 261,000보다 클 때 오류가 발생합니다. 왜 이런거야? 어떻게 해결할 수 있습니까?이 기능으로 인해 segfault가 발생하는 이유는 무엇입니까?
64 비트 우분투에서 gcc로 컴파일 중입니다.
감사
는unsigned int modex(unsigned int base, unsigned int exponent, unsigned int modulus)
{
if(exponent == 1)
return base;
base = base % modulus;
if(exponent == 0 || base == 1)
return 1;
return (modex(base, exponent - 1, modulus) * base) % modulus;
}
당신은 stackoverflow가 있습니다 – ouah