알고리즘 문제/백준

제곱근 #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

출처


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