浮点数二分不需要考虑太多的边界问题,只需要保证精度满足题目的要求即可,通常在acm中,假如题目精度要求保留n位小数,我们正常设置与标准答案的误差为10的负n+2次方就行。
例题:
c++代码:
#include<bits/stdc++.h> using namespace std; int main(){ double l = -10000,r = 100000; double x; cin>>x; while( r - l > 1e-8 ){ double mid = (l + r) /2; if(mid * mid * mid >= x){ r = mid; }else{ l = mid; } } cout<<fixed<<setprecision(6)<<l<<endl; return 0; }
原文链接: https://www.cnblogs.com/Flydoggie/p/12235391.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/325286
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!