You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Java for循环计算x+x³+x⁵+x⁷+x⁹且不使用Math.pow

你的现有代码存在两个核心问题:

  1. 直接修改入参x的取值,导致后续计算的基础值被污染,无法得到正确的幂次结果
  2. 累加逻辑不符合多项式求和的要求,没有单独存储最终的累加和

正确实现代码

public class MyClass {
    public static void main(String args[]) {
        // 测试输入3.0,预期输出22143.0
        System.out.println(calculateExp(3.0));
    }

    public static double calculateExp(double x) {
        // 存储最终求和结果
        double sum = 0.0;
        // 存储当前待累加的奇次幂项,初始值为第一项x^1
        double currentTerm = x;
        for(int i = 1; i <= 9; i += 2) {
            sum += currentTerm;
            // 递推得到下一个奇次幂:x^(n+2) = x^n * x²
            currentTerm = currentTerm * x * x;
        }
        return sum;
    }
}

实现说明

  • 全程仅使用Java基础乘法运算,没有调用任何额外工具类方法,符合限制要求
  • 利用递推规则计算下一个奇次幂,无需单独计算每一项的幂次,计算效率更高
  • 测试验证:代入x=3时,计算结果为3 + 3³ +3⁵ +3⁷ +3⁹ = 3+27+243+2187+19683 = 22143.0,和代码输出结果一致。

内容的提问来源于stack exchange,提问作者Christopher Wang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:18:03