본문 바로가기

백준/C++

[C++ 실패하고... 파이썬] 백준 13706번 - 제곱근

728x90

 

문제 13706번

https://www.acmicpc.net/problem/13706

 

// 시간 초과 코드

#include <iostream>
using namespace std;

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

	int s = 1, e = N, result;
	while (s <= e) {
		int mid = (s + e) / 2;
		result = mid * mid;
		if (result == N) {
			cout << mid;
			break;
		}
		else if (result > N) {
			e = mid - 1;
		}
		else {
			s = mid + 1;
		}
	}
	return 0;
}

 

 

이번 문제.. 쉽게 풀 수 있을 줄 알았는데 N이 800자 이하고 C++은 bigInteger를 지원하지 않는다고 한다.

어떻게 풀지 계속 고민하고 검색하다가 머리가 너무 아파서 파이썬은 사기적으로 풀 수 있다길래 한번 파이썬으로 풀어보기로 했다....

 

import math
 
N = int(input())
 
print(math.isqrt(N))

 

어...?

728x90

'백준 > C++' 카테고리의 다른 글

[C++] 백준 2805번 - 나무 자르기  (0) 2024.05.22
[C++] 백준 13241번 - 최소공배수  (0) 2024.05.21
[C++] 백준 2417번 - 정수 제곱근  (0) 2024.05.19
[C++] 백준 4101번 - 크냐?  (0) 2024.05.18
[C++] 백준 1037번 - 약수  (0) 2024.05.18