[Silver IV] 제곱근 - 13706
분류
수학, 이분 탐색, 임의 정밀도 / 큰 수 연산
문제 설명
정수 N이 주어졌을 때, N의 제곱근을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 양의 정수 N이 주어진다. 정수 N의 제곱근은 항상 정수이며, N의 길이는 800자리를 넘지 않는다.
출력
첫째 줄에 정수 N의 제곱근을 출력한다.
N = int(input())
start = 1
end = N
while True:
mid = (start + end) // 2
if mid ** 2 == N:
print(mid)
break
elif mid ** 2 > N:
end = mid - 1
elif mid ** 2 < N:
start = mid + 1
'Algorithm > BAEKJOON' 카테고리의 다른 글
[백준 / Python 파이썬] 1590번 - 캠프가는 영식 (0) | 2023.03.20 |
---|---|
[백준 / Python 파이썬] 15558번 - 점프 게임 (0) | 2023.03.20 |
[백준 / Python 파이썬] 18427번 - 함께 블록 쌓기 (0) | 2023.03.05 |
[백준 / Python 파이썬] 2624번 - 동전 바꿔주기 (0) | 2023.03.05 |
[백준 / Python 파이썬] 17216번 - 가장 큰 감소 부분 수열 (0) | 2023.03.01 |