问题出在精度上
float精度不足 导致计算到一定精度时进入浮点陷阱
把所有的float定义改为double 输入输出对应用%lf 就可以得到正确结果了
共同点:针对求方程根,都是极限的思想
最后的值不断靠近真值
但是方程有整数根,二分法和弦截法求得的值仍然是极限值,得不到整数
弦截法选取的x1和x2必须包含真值
二分法的区间(a,b)也必须包含真值
速度其实差不多
用精度来确定最后的值,不能f(x)==0来确定最后值,
因为不是int型,极限的思想也不能是int型
不同点:
弦截法只针对本方程问题
而二分法的思想却有很多应用
因为它就是把问题一切为2,那边靠近答案往那边走
这样解决问题就很快
比如二分法查找