정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오.
입력받은 정수의 제곱근을 출력하자. 단, 정수는 2^63까지 있을 수 있다.
제곱근을 구해주는 sqrt함수와 소수점이 나올 시 올림처리해줄 ceil함수, scientific notaion을 없애주기 위한 cout.setf(ios::fixed), setprecision(0)을 사용하면 된다.
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
cout.setf(ios::fixed);
long num;
cin >> num;
cout << setprecision(0) << ceil(sqrt(num)) << '\n';
}
c++에서 제공해주는 함수를 사용하면 쉽게 풀 수 있다. 이 문제는 어렵게 풀려면 이분 탐색으로 풀 수 있지만 문제를 최대한 쉽게 푸는 것이 목적이기에 stl을 적극적으로 이용하려고 한다.