原题链接
问题描述:
给定一个浮点数n,求它的三次方根。
数据范围:
−10000≤n≤10000
分析:
由题意可得,在数据范围内枚举即可得n三次方根。但n是浮点数,它的三次方根也是浮点数,
浮点数在数轴上是稠密分布的,所以只能用二分的思想无限逼近求得答案。
代码:
#include<iostream> using namespace std; int main(){ double n; cin>>n; double l=-10000,r=10000; double mid; while(r-l>1e-8){ mid=(l+r)/2; if(mid*mid*mid<n)l=mid; else r=mid; } printf("%.6lf",mid); return 0; }
来源:https://www.cnblogs.com/yifeianyi/p/12187424.html