zoukankan      html  css  js  c++  java
  • 近似值问题

    如果x的x次幂结果为10,你能计算出x的近似值吗?

    请把x的值计算到小数后6位(四舍五入),并填写这个小数值。

    float型可以表示6到7个有效数字,而double型可以表示15到16位有效数字

    C++提供以下几种pow函数的重载形式:
    double pow(double X,int Y);
    float pow(float X,float Y);
    float pow(float X,int Y);
    long double pow(long double X,long double Y);
    long double pow(long double X,int Y);

    我一直考虑精度问题,后来发现double精度很高,需要用printf输出

    一般等于0就等于1e-6

    //精度问题
    //如果x的x次幂结果为10,你能计算出x的近似值吗? 
    //3 到  4之间  请把x的值计算到小数后6位(四舍五入),并填写这个小数值。
    #include<iostream>
    #include<cmath>
    using namespace std;
    int main()
    {
        cout<<pow(2,3)<<endl;
        cout<<pow(3.3,3.3)<<endl;
        double x,y,z;
        double b=10.0;
    //    x=3.0;
        x=0;
        double t=10.0;
        for(int i=1;i<=8;i++){
            t/=10.0;
    //        cout<<"t="<<t<<endl;
        for(int j=1;j<=9;j++){
            z=x+t*j;
    //        cout<<"z= "<<z<<endl;
            if(pow(z,z)>10.0){
    //            cout<<"z"<<z<<endl;
                x+=t*(j-1);
    //            cout<<"x="<<x<<endl
                break;
            }
        } 
    }
     printf("%.6f",x);
    } 
    View Code
    #include<iostream>
    #include<cmath>
    using namespace std; 
    int main()
    {
            for (double x = 2.0;x<3.0;x+=0.0000001){
                if (abs(pow(x,x)-10)<0.000001){
                    printf("%.6f",x);
                    break;
                }
            }
    }
    View Code
  • 相关阅读:
    计算机网络复习(二) 应用层
    JavaScript实战笔记(二) 数组去重
    计算机网络复习(一) 基本介绍
    计算机网络复习
    Git学习笔记(一) 常用命令
    Git学习笔记
    Python实战笔记(三) 多线程
    Python实战笔记(二) 网络编程
    Python学习笔记
    XBox360自制系统的更新(Update)
  • 原文地址:https://www.cnblogs.com/helloworld2019/p/10383161.html
Copyright © 2011-2022 走看看