알고리즘 문제/백준
제곱근 #13706
BEstyle
2023. 1. 11. 00:58
문제
정수 N이 주어졌을 때, N의 제곱근을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 양의 정수 N이 주어진다. 정수 N의 제곱근은 항상 정수이며, N의 길이는 800자리를 넘지 않는다.
출력
첫째 줄에 정수 N의 제곱근을 출력한다.
예제 입력 1 복사
36
예제 출력 1 복사
6
예제 입력 2 복사
81
예제 출력 2 복사
9
예제 입력 3 복사
226576
예제 출력 3 복사
476
출처
- 문제를 번역한 사람: baekjoon
알고리즘 분류
import sys
n = int(sys.stdin.readline())
start = 0
end = n
while start<=end:
mid = (start+end) // 2
if mid**2 == n:
print(mid)
break
elif mid**2 > n:
end = mid - 1
else:
start = mid + 1