AcWing
790. 数的三次方根
注意,pow
函数不能处理负数,移位运算符只能操作整型数据。
二分
:
#include <bits/stdc++.h>
using namespace std;
double n;
double l = -30, r = 30;
int main(){
cin >> n;
while(r - l > 1e-10){
double mid = (l + r) / 2;
if(mid * mid * mid >= n) r = mid;
else l = mid;
}
cout << setiosflags(ios::fixed) << setprecision(6) << r << endl;
}
cbrt()函数
:
#include <bits/stdc++.h>
using namespace std;
double n;
int main(){
cin >> n;
double res = cbrt(n);
cout << setiosflags(ios::fixed) << setprecision(6) << res << endl;
}