zoukankan      html  css  js  c++  java
  • 20200816--计算多项式的值(奥赛一本通P68 3题)

    //假定多项式的形式为x的n次方+x的n-1次方+...+x的平方+X+1,请计算给定单精度浮点数x和正整数n值的情况下这个多项式的值.x在float范围内,n<=1000000,多项式的值精确到小数后2位,保证最终结果在float范围内。

    //自己解法

    #include <bits/stdc++.h>
    using namespace std;
    float x,y=1,z=0;
    int n,a;
    int main()
    {
    cout<<"请输入x的值:"; cin>>x;
    cout<<"请输入n的值:"; cin>>n;
    a=n;
    for(int j=a;j>=0;j--)//n,n-1,n-2....注意一个数的0次方是1,所以此处最小值是0
      {
        for(int i=0;i<j;i++)//求x的n次方,再求x的n-1次方,依此类推;
          {
             y*=x;
          }
        z=z+y;
        y=1;
      }
      cout<<"结果是:"<<fixed<<setprecision(2)<<z;
      return 0;
    }

    书上解法:

    #include <bits/stdc++.h>
    using namespace std;
    float x,y=1,z=1;//注意此处z的初始值为1,即x的0次方
    int n;
    int main()
    {
      cout<<"请输入x的值:"; cin>>x;
      cout<<"请输入n的值:"; cin>>n;
      //一次for循环,其实是反过来计算,即x的1次方,x的2次方,。。。
      for(int i=1;i<=n;i++)//求x的n次方,再求x的n-1次方,依此类推;
        {
          y*=x;
          z+=y;
        }
       cout<<"结果是:"<<fixed<<setprecision(2)<<z;
       return 0;
    }

  • 相关阅读:
    Ubuntu网卡配置
    Ubuntu软件包管理器
    更改系统语言环境
    简单泛型
    surface知识点
    RTMP协议
    直播技术之现代播放器原理
    直播技术之延迟优化
    直播技术之处理
    【转】草根老师的 linux字符设备驱动详解
  • 原文地址:https://www.cnblogs.com/whcsrj/p/13514530.html
Copyright © 2011-2022 走看看