江西财经大学第一届程序设计竞赛 F
链接:https://www.nowcoder.com/acm/contest/115/F
来源:牛客网
题目描述
对于方程 2018 * x ^ 4 + 21 * x + 5 * x ^ 3 + 5 * x ^ 2 + 14 = Y,
告诉你Y的值,你能找出方程在0~100之间的解吗?
告诉你Y的值,你能找出方程在0~100之间的解吗?
输入描述:
第一行输入一个正整数T(表示样例个数)
接下来T组样例
每组样例一行,输入一个实数Y
输出描述:
一行输出一个样例对应的结果,
输出方程在0~100之间的解,保留小数点后4位小数;如果不存在,输出 -1
示例1
输入
2 1 20180421
输出
-1 9.9993
牛顿表示迭代法和二分都可以哦
#include<bits/stdc++.h> using namespace std; typedef long long ll; int debug_num=0; const double eps=1e-6; double y; double f(double x) { return (2018*x*x*x*x+5*x*x*x+5*x*x+21*x+14-y); } int main() { int t; scanf("%d",&t); while(t--) { scanf("%lf",&y); int flag=0; for(double ans=0;ans<=100-0.5;ans=ans+0.5){ if(f(ans)*f(ans+0.5)>0) continue; double l=ans-0.5,r=ans+0.5; if(r>l){ while(r-l>eps) { double mid=(l+r)/2; if(f(mid)>=0) r=mid; else l=mid; } } else{ while(l-r>eps) { double mid=(l+r)/2; if(f(mid)<=0) r=mid; else l=mid; } } if(r>=0&&r<=100){ printf("%.4f\n",r); flag=1; break; } } if(!flag) printf("-1\n"); } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~