• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

ph-123456

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

day4

include

using namespace std;

include<string.h>

include<stdio.h>

include

double f(double a, double b, double c, double d,double x) {
return a * x * x * x + b * x * x + c * x + d;
}
double jie(double a, double b, double c, double d, double left, double right) {
const double m = 0.01;
double mid;
while (right - left > m) {
mid = (right + left) / 2;
if (f(a, b, c, d, mid) == 0)
{
return mid;
}
else if (f(a, b, c, d, left) * f(a, b, c, d, mid) < 0) { right = mid; }
else { left = mid; }

}
return (left + right) / 2;

}
int main() {
double a, b, c, d, root[30] = {};
scanf_s("%lf %lf %lf %lf", &a, &b, &c, &d);
int j = 0;
for (int i = -101; i < 100;) {
if (f(a, b, c, d, i) * f(a, b, c, d, i + 2) <= 0) {
root[j] = jie(a, b, c, d, i, i + 2);
j++;
} i+=2;
}

for (int j = 0; j < 3; j++)
	printf("%.2f ", root[j]);
return 0;

}

posted on 2024-10-29 12:30  哈哈哈哈666  阅读(6)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3