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

Kotlin如何不使用幂函数实现for循环逐次计算a^i+b^i并输出

Kotlin 实现1-10轮ai+bi逐次打印方案

原有代码错误点

  • 循环内result3被固定赋值为a+b,完全没有用到提前声明的累计幂变量result1、result2,因此每轮打印的都是固定的a、b原值之和,不会随迭代次数变化
  • 幂值计算时序错误:初始result1、result2设为1,进入循环后首轮就先乘a、b,就算后续修正求和逻辑,首轮得到的也是a²+b²,直接跳过i=1的正确结果
  • 函数返回值固定为最后一轮赋值的a+b,和实际幂和计算结果无关联

修正后代码

采用累计相乘的方式计算每轮幂值,不需要重复计算高次幂,执行效率更高:

fun main(){
    // 测试时替换成你需要的a、b参数即可
    test(1, 2)
}

fun test(a: Int, b: Int) {
    // 初始值对应a^0、b^0
    var powA = 1
    var powB = 1
    for (i in 1..10) {
        powA *= a
        powB *= b
        val sum = powA + powB
        println("i=$i -> $sum")
    }
}

运行验证

传入a=1、b=2时,控制台输出如下,完全匹配ai+bi的计算规则:

i=1 -> 3
i=2 -> 5
i=3 -> 9
i=4 -> 17
i=5 -> 33
i=6 -> 65
i=7 -> 129
i=8 -> 257
i=9 -> 513
i=10 -> 1025

你原举例中i=2结果为6属于笔误,1²+2²的正确计算结果为5。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 04:09:27