二分法解方程

该文描述了一个编程问题,要求在给定区间[0,100]内解一元四次方程。通过证明函数单调性和应用二分法,可以找到方程的解或判断无解。提供的代码示例展示了如何实现这一过程。
摘要由CSDN通过智能技术生成
题目描述

题目来源 BUPT ACM

Problem Description

给定方程 8x^4 + 7x^3 + 2x^2 + 3x + 6 == Y,请计算x在[0,100]范围内的解。

Input

输入数据首先是一个正整数T(1<=T<=100),表示有T组测试数据。

接下来T行,每行包含一个实数Y ( fabs(Y) <= 1e10 )。

Output

请计算并输出方程在范围[0,100]内的解,结果精确到小数点后4位。

如果无解,则请输出“No solution!

输入样例

2
100
-4

输出样例

1.6152
No solution!
思路

其实应该先证明一下,函数在[0,100]的区间中是单调递增的(这个自己求下导就可以了),根据零点存在性定理,要么有一个零点,要么没有零点,这个时候再用二分法,就合理很多。

Code
延伸

如果题目在所求区间当中,要求多个零点,则需要题目给出两个相邻零点间的最小距离,在每个区间中先应用零点存在性定理,找出存在解的区间,然后再使用二分法,就可以了。如洛谷P1024

AC Code
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值