나는 매우 많은 수 있습니다square_root 매우 많은 수의 때까지 <1000
나는 그것이 PHP에서 < 1000을 때까지이 숫자 평방 응원을 유지하려면char *big_numbr_str = "4325242066733762057192832260226492766115114212292022277";
, 나는 비교적 쉽게 할 수 있습니다 :
while($num > 1000):
$num = sqrt($num);
endwhile;
$num = floor($num);
저는 이제 C에서 같은 결과를 얻으려고합니다. 참고로, while 루프에서 5 사이클 후에 PHP의 위 코드와 시작 숫자의 최종 결과는 50입니다. 이 숫자를 다른 곳에 5 번 제곱근하면 비슷한 결과가 나오게됩니다.
평범한 C에서 어떻게 같은 결과를 얻을 수 있습니까? 이 크기의 숫자를 저장하는 것이 예상보다 C에서 더 복잡합니다.
char에 저장된 숫자로 제곱근 처리의 "비교적 간단한"수학을 수행 할 수 있습니까? – Tiago
네, 할 수 있습니다 : 문자열의 왼쪽 절반을 받아 일부 수정합니다. 나머지 부분이 <1000 (<4 charcters)이 될 때까지 반복하십시오. – wildplasser
GMP와 호환됩니다. 감사합니다! 비록 GMP를 연결하지 않고 원시 C 방식이 있다면 나는 여전히 관심이있다. – Tiago