Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 1을 더한 후 완전제곱수를 만들 수 있는지 확인

<시간/>

숫자 n이 있다고 가정합니다. 숫자에 1을 더해서 완전제곱수가 될 수 있는지 확인해야 합니다.

따라서 입력이 n =288과 같으면 1을 더한 후 출력이 True가 되므로 17^2와 같은 289가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • res_num :=n + 1
  • sqrt_val :=(res_num)의 제곱근의 정수 부분
  • sqrt_val * sqrt_val이 res_num과 같으면
    • 참 반환
  • 거짓을 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시 코드

from math import sqrt

def solve(n):
   res_num = n + 1
 
   sqrt_val = int(sqrt(res_num))
  
   if sqrt_val * sqrt_val == res_num:
      return True
   return False
      
n = 288
print(solve(n))

입력

288

출력

True