C++ 计算多项式值 - GESP 二级

题目描述

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

输入描述

输入仅一行,包括 x 和 n,用单个空格隔开。x 在 float 范围内,n ≤ 1000000。

输出描述

输出一个实数,即多项式的值,精确到小数点后两位。保证最终结果在 float 范围内。

用例输入 1

2.0 4

用例输出 1

31.00

C++ 代码

#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

int main() {
    float x;
    int n;
    cin >> x >> n;

    float result = 0;
    for (int i = 0; i <= n; i++) {
        result += pow(x, i);
    }

    cout << fixed << setprecision(2) << result << endl;

    return 0;
}

代码解释

  1. 使用 #include <iostream> 头文件进行输入输出操作。
  2. 使用 #include <cmath> 头文件使用 pow() 函数进行幂运算。
  3. 使用 #include <iomanip> 头文件使用 setprecision() 函数控制输出精度。
  4. 使用 float 类型存储 x,使用 int 类型存储 n。
  5. 使用 for 循环遍历 0 到 n 的所有整数 i,计算 x 的 i 次方并累加到 result 中。
  6. 使用 cout << fixed << setprecision(2) << result << endl; 输出结果,其中 fixed 表示使用定点格式输出,setprecision(2) 表示保留两位小数。

优化建议

  1. 可以使用其他更有效的算法来计算多项式值,例如 Horner's method。
  2. 可以考虑使用 double 类型存储计算结果,以提高精度。
  3. 可以添加边界检查,例如检查 n 的范围是否合法。

总结

本代码实现了计算多项式值的 C++ 代码,并提供了代码解释和优化建议。希望对你有所帮助!

C++ 计算多项式值 - GESP 二级

原文地址: https://www.cveoy.top/t/topic/qj6O 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录