프로그래밍/백준

[알고리즘] 백준 2417 파이썬 - 정수 제곱근

매 석 2023. 4. 18. 23:48
반응형

 

 

2417번: 정수 제곱근

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

www.acmicpc.net

문제

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

 

문제풀이

n=int(input())
#01
start=0
end=n
#02
while start<=end:
	#03
    mid=(start+end)//2
    if mid**2<n:
        start=mid+1
    else:
        end=mid-1
print(start)

- #01 : start=0, end=n으로 시작한다.

- #02 : while문은 start가 end보다 커지면 종료한다.

- #03 : mid는 start와 end의 중간값으로 시작한다.

           만약 mid**2이 n보다 작으면 start를 mid+1로 늘린다.

           그렇게 늘리다보면, 어느순간 mid**2>=n이 되는 순간이 온다.

           그 때는 end에 mid-1를 하며 다시 반복하며, start<=end가 될 때까지 if else문을 반복한다.

           최종적으로 얻은 값을 출력한다.