>  기사  >  백엔드 개발  >  Python에서 정수 제곱근을 찾는 방법: 어떤 방법이 가장 좋나요?

Python에서 정수 제곱근을 찾는 방법: 어떤 방법이 가장 좋나요?

DDD
DDD원래의
2024-10-28 06:03:32704검색

How to Find Integer Square Roots in Python: Which Method is Best?

Python에서 정수 제곱근 계산

Python에서는 정확한 정수 제곱근을 찾는 것이 어려울 수 있습니다. 그러나 이 작업에 사용할 수 있는 방법은 여러 가지가 있습니다.

한 가지 간단한 접근 방식은 뉴턴의 방법을 사용하는 것입니다. 이 방법은 제곱근의 추정치를 반복적으로 개선합니다.

<code class="python">def isqrt(n):
    x = n
    y = (x + 1) // 2
    while y < x:
        x = y
        y = (x + n // x) // 2
    return x</code>

이 방법은 가장 큰 정수 제곱근을 곱하여 입력 숫자와 일치하는지 확인할 수 있습니다.

대체 방법은 정수 나누기를 사용하여 완전 제곱수를 반복적으로 확인하는 것입니다.

<code class="python">def isqrt2(n):
    i = 1
    while i * i <= n:
        i += 1
    return i - 1</code>

이 방법은 구조가 더 간단하지만 일반적으로 큰 정수에 대한 Newton의 방법보다 느립니다.

마지막으로 Python 버전 3.8 이상의 경우 수학 모듈은 정확한 값을 계산하는 내장 isqrt 함수를 제공합니다. 정수 제곱근을 효율적으로.

<code class="python">from math import isqrt

x = isqrt(49)  # returns 7</code>

원하는 효율성과 Python 버전에 따라 적절한 방법을 선택하면 다양한 시나리오에서 정수 제곱근을 정확하게 찾을 수 있습니다.

위 내용은 Python에서 정수 제곱근을 찾는 방법: 어떤 방법이 가장 좋나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.