愿尔安然无恙


私信TA

用户名:H2130819045

访问量:13761

签 名:

向往星辰大海,喜欢落日晚风。

等  级
排  名 63
经  验 10708
参赛次数 16
文章发表 56
年  龄 20
在职情况 学生
学  校 贺州学院
专  业 软件工程

  自我简介:

不想改bug ^_^

解题思路:按题目要求来,用二分法搜索可认为相等的近似值

注意事项:

参考代码:

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
#define PI 3.1415926
int main()
{
    double x,left,right,mid;
    cin>>x;
    left=0;right=PI;
    while(true)
    {
        if(fabs(cos(mid)-x)<0.00000000001)//两个差值足够小,可认为相等 
        {
            cout<<setiosflags(ios::fixed)<<setprecision(5)<<mid<<endl;
            break;
        }
        else if(x<cos(mid))//太大 
        left=mid;
        else if(x>cos(mid))//太小 
        right=mid;
        mid=(left+right)/2;//二分法搜索 (对二进制数进行操作,会更快mid=(left+right)>>1;(右移1个)
    }
    return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »