물음표 살인마의 개발블로그

알고리즘 문제/백준

정수 제곱근 #2417

BEstyle 2023. 1. 10. 02:55

문제

정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 정수 n이 주어진다. (0 ≤ n < 263)

출력

첫째 줄에 q2 ≥ n인 가장 작은 음이 아닌 정수 q를 출력한다.

예제 입력 1 복사

122333444455555

예제 출력 1 복사

11060446

출처

Olympiad > Baltic Olympiad in Informatics > BOI 2006 0번

알고리즘 분류


 

import sys
n = int(sys.stdin.readline())
if n == 0:
    print(0)
    sys.exit()
start, end = 1, n
while start <= end:
    mid = (start + end) // 2
    if mid ** 2 >= n:
        end = mid - 1
    else:
        start = mid + 1
print(start)

'알고리즘 문제 > 백준' 카테고리의 다른 글

게임 #1072  (0) 2023.01.10
암기왕 #2776  (0) 2023.01.10
CD #4158  (0) 2023.01.10
N번째 큰 수 #2693  (0) 2023.01.09
진법 변환 2 #11005  (0) 2023.01.09