[Python] BOJ 13706번 : 제곱근

Lern-Backup·2021년 9월 29일
0

Baekjoon

목록 보기
11/20

📝 문제


💻 실행 코드

# BOJ 13706번 : 제곱근
n = int(input()) # n 입력받기
low = 1
high = n

# 이진 탐색
while 1:
    mid = (low + high) // 2
    if (mid ** 2 == n): # mid x 2가 n이면
        print(mid) # mid 출력
        break
    elif (mid ** 2 > n): # mid x 2가 n보다 크면
        high = mid - 1 # high 값을 mid - 1로 갱신
    elif (mid ** 2 < n): # mid x 2가 n보다 작으면
        low = mid + 1 # low 값을 mid + 1로 갱신

📚 문제 풀이

처음에는 c++을 이용해 풀려고 했으나...

// BOJ 13706번 : 제급근
#include <iostream>
#include <cmath>
using namespace std;

int main() {
    int n;
    cin >> n;

    n  = sqrt(n);
    cout << n;
}

무려 n이 800자 이하라는 것... 그래서 파이썬으로 노선 변경

from math import isqrt
print(isqrt(int(input())))

위 코드로도 풀 수 있음


✅ 실행 결과

profile
공부 백업용

0개의 댓글