1001 Can you solve this equation

1001 Can you solve this equation

题意:给定方程组,求解满足方程的x。

思路:解方程的问题,就是不断的二分查找,在给定精度的范围内,寻找满足要求的解。

感想:解方程思路常规模式,并没有任何的难度,可是一直wrang,要疯了,头文件各种都尝试过,还是错,后来改了一些精度范围,终于ac!

#include<iostream>

#include<math.h>

#include<stdio.h>

#include<algorithm>

using namespace std;

double sum(double x){

   return 8*pow(x,4)+7*pow(x,3)+2*pow(x,2)+3*x+6;

}

int main(){

  int T;

  double Y,f,l,mid;

  cin>>T;

  while(T--){

     cin>>Y;

     if(sum(0)<=Y&&sum(100)>=Y){

       f=0.0;

       l=100.0;

       while(l-f>=1e-10){

          mid=(l+f)/2;

          if(sum(mid)>Y)

                l=mid;

          else if(sum(mid)==Y)

               printf("%.4lf\n",mid);

          else

               f=mid;

       }

       printf("%.4lf\n",(f+l)/2);

     }

     else

       printf("No solution!\n");

   }

  return 0;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值