[python]BOJ 13706号:平方根


📝 質問する



💻 実行コード

# 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())))
上のコードも解読できます

実行結果