두 개의 정수 a
과 b
이 주어 졌을 때, 과 같은 다른 정수가 있는지 확인하는 효과적인 방법이 있습니까? a ≤ n2 < b
?정수 범위에 하나 이상의 완벽한 사각형이 포함되어 있습니까?
나는 적어도 하나의 n
존재 여부를 여부 만, n
을 알 필요가 없다, 그래서 제곱근을 계산 피하기 위해 희망의 간격에있는 숫자의.
testing whether an individual integer is a perfect square is faster than computing the square root이지만 범위가 클 수도 있고 범위 내의 모든 숫자에 대해이 테스트를 수행하지 않는 것이 좋습니다.
예 :
intervalContainsSquare(2, 3)
=> 거짓intervalContainsSquare(5, 9)
= "거짓 (참고 : 9이 간격 밖에)intervalContainsSquare(9, 9)
="거짓 (이 간격이 비어)intervalContainsSquare(4, 9)
= > true (이 간격 안에 4가 있음)intervalContainsSquare(5, 16)
=> true (이 간격 안에 9가 있음)intervalContainsSquare(1, 10)
=> (1, 4, 9,이 구간 안에 모두)
<= n^2 duffymo
@duffymo : 9가 9보다 작지 않기 때문에'n^2 Amadan
충분히 공정하다고 생각합니다. – duffymo