首页 > 其他分享 >hdu:解方程(二分查找)

hdu:解方程(二分查找)

时间:2022-12-07 00:11:56浏览次数:39  
标签:二分 hdu right double mid pow 解方程 100 left

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!

基础的二分题,注意left和right两个变量不能放在全局变量的位置,否则会由left指示不明的报错

附ac代码

#include<bits/stdc++.h>
using namespace std;
double suan(double x)
{
    return 8*pow(x,4.0)+7*pow(x,3.0)+2*pow(x,2.0)+3*x+6;//pow(double,double)
}
void er(double left,double right,double y)
{
    double ans,mid;
    while((right-left)>1e-7)
    {
        mid=(right+left)/2;
        ans=suan(mid);
        if(ans>y)
        right=mid-1e-8;
        else
        left=mid+1e-8;
    }
    mid=(right+left)/2;
    mid=round(mid*10000)/10000.0;
    printf("%.4lf\n",mid);
}
int main()
{
    int t;cin>>t;
    double y;
    double a=suan(0),b=suan(100);
    for(int i=1;i<=t;++i)
    {
        scanf("%lf",&y);
        if(y<a||y>b)
        {
            printf("No solution!\n");
        }
        else
            er(0,100,y);
    }
    return 0;
}

 

标签:二分,hdu,right,double,mid,pow,解方程,100,left
From: https://www.cnblogs.com/ruoye123456/p/16961887.html

相关文章

  • hdu:人见人爱A^B(快速幂)
    ProblemDescription求A^B的最后三位数表示的整数。说明:A^B的含义是“A的B次方”Input输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A......
  • hdu:一个新的斐波那契数列
    ProblemDescription现在,有一个新的斐波那契数列,定义如下:F(0)=7,F(1)=11,F(n)=F(n-1)+F(n-2)(n>=2).Input输入包含多组测试样例,每组测试样例包含一个整数n(n......
  • hdu3555 Bomb --数位dp
    原题链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=3555​​题意:1---n之间的数包含49有多少个。分析:看代码。#define_CRT_SECURE_NO_DEPRECATE#include<iostream>#in......
  • hdu2089 不要62--数位dp入门题
    原题链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=2089​​题意:给定a,b两数,求两数之间所有数不含有62和4的个数。分析:dp[i][j]表示i位数,最高位是j的满足题意的个......
  • hdu4739 Zhuge Liang's Mines --状压dp
    原题链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=4739​​题意:n个点,求出可以组成的最多的正方形的点数,要求每个点只能用一次,且正方形边平行坐标轴。分析:把所有点组......
  • hdu5135 Little Zu Chongzhi's Triangles --状压dp
    原题链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=5135​​题意:n根木棒,组成若干三角形,求最大面积和。分析:把所有木棒升序排序,可以组成三角形所有的的组合利用位运算......
  • hdu4705 Y--树形dp
    原题链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=4705​​题意:一棵树,求三个点不在一条线的个数。分析:注意,反过来求,求出三个点在一条线的个数,最后总数减去在一条线的......
  • hdu3899 JLUCPC--树形dp(好题)
    原题链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=3899​​题意:给定n个点,每个点的人数,n-1条边和边权。选取任意一点u,然后让所有人都移动到u点,问最小的移动距离和是多......
  • hdu1561 The more, The Better--树形dp
    原题链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=1561​​分析:建一个0点作为树根,把树连起来,dp[i][j]表示以i点为树根选择j个点的最大值。注意该题,每选择一个点......
  • hdu3632 A Captivating Match--区间dp
    原题链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=3632​​题意:n个人比赛,每个人一个价值v[i],相邻两人a,b比赛,输的人淘汰,最后剩下的那个人的价值最大可以是多少?分析:相......