不对
#include<bits/stdc++.h>using namespace std;
int n,m;
int main(){
cin>>n>>m;
double l=0.0,r=1.0*n;
while(l+1e-8<r){
double mid=(l+r)/2;
if(mid*mid*mid<=n){
l=mid;
}
else
r=mid;
}if(l*l*l==n)
cout<<fixed<<setprecision(7)<<l;
else
cout<<fixed<<setprecision(7)<<r;
return 0;
} 你遗漏了头文件和命名空间的声明。请修改代码如下:
#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
double l = 0.0, r = 1.0 * n;
while (l + 1e-8 < r) {
double mid = (l + r) / 2;
if (mid * mid * mid >= m) {
r = mid;
} else {
l = mid;
}
}
cout << r << endl;
return 0;
}
这段代码使用二分法求解立方根问题。通过不断更新 l 和 r 的值,最终找到一个非常接近立方根的值 r。然后将其输出即可。`1e-8` 是一个很小的数,用于控制精度。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]