# 문제 설명
임의의 양의 정수 n에 대해 n이 양의 정수 x의 거듭제곱인지 확인하려고 합니다.
x+1을 양의 정수 x로 거듭제곱하고 n이 x로 거듭제곱한 양의 정수가 아니면 -1을 반환하는 함수를 완성하세요.
# 제한
n은 1 이상 50000000000000 이하의 양의 정수이다.
# 문제를 해결하다
import math
def solution(n):
a = math.sqrt(n)
if a == int(a):
return (a+1)*(a+1)
else:
return -1
# 문제 설명
# math.sqrt() 라이브러리를 알고 있으면 쉽게 풀 수 있다.
math.sqrt(x) 함수는 x의 제곱근을 반환
math.pow(x, y) 함수는 x의 y거듭제곱(x의 y승)을 반환
# 1 n의 제곱근 a를 구함
# 2 양의 정수 a가 존재한다면(a == int(a)라면) a+1의 제곱을 반환
# 3 양의 정수 a가 존재하지 않는다면 -1을 반환
# 실행 결과
채점을 시작합니다.
정확성 테스트
테스트 1 〉 통과 (0.00ms, 10.3MB)
테스트 2 〉 통과 (0.00ms, 10.2MB)
테스트 3 〉 통과 (0.00ms, 10.2MB)
테스트 4 〉 통과 (0.00ms, 10.3MB)
테스트 5 〉 통과 (0.00ms, 10.2MB)
테스트 6 〉 통과 (0.00ms, 10.2MB)
테스트 7 〉 통과 (0.00ms, 10.2MB)
테스트 8 〉 통과 (0.00ms, 10.2MB)
테스트 9 〉 통과 (0.01ms, 10.2MB)
테스트 10 〉 통과 (0.00ms, 10.2MB)
테스트 11 〉 통과 (0.00ms, 10.3MB)
테스트 12 〉 통과 (0.00ms, 10.3MB)
테스트 13 〉 통과 (0.00ms, 10.1MB)
테스트 14 〉 통과 (0.00ms, 10.2MB)
테스트 15 〉 통과 (0.01ms, 10.2MB)
테스트 16 〉 통과 (0.00ms, 10.2MB)
테스트 17 〉 통과 (0.00ms, 10.3MB)
테스트 18 〉 통과 (0.00ms, 10.2MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0