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

关于Kotlin while循环运行结果的疑问:为何输出结果为5050?

为什么这段Kotlin while循环的输出是5050?

嗨,让我一步步拆解这段代码的运行逻辑,你就能明白为什么结果是5050了:

首先先看完整代码:

fun main() { 
    var sum = 0 
    var i = 1 
    while (i<=100) { 
        sum += i 
        i++ 
    } 
    println(sum) 
}

核心逻辑拆解

  • 初始状态:我们定义了两个变量:
    • sum初始值为0,用来存储累加的总和;
    • i初始值为1,作为循环的计数器,从1开始遍历到100。
  • 循环触发条件:while (i <= 100)意味着只要i的值不超过100,循环体里的代码就会反复执行。
  • 循环体的操作:
    1. sum += i:这是sum = sum + i的简写,每次循环都会把当前i的值加到sum里,完成一次累加;
    2. i++:让计数器i自增1,为下一次循环的判断做准备。
  • 循环结束时机:当i自增到101时,i <= 100的条件不成立,循环终止,此时sum里已经存好了1到100所有整数的和。

数学层面的验证

这本质上是求1到100的整数和,用高斯求和公式可以快速计算:
(首项 + 末项) × 项数 ÷ 2 = (1 + 100) × 100 ÷ 2 = 5050
和代码运行的结果完全一致。

内容的提问来源于stack exchange,提问作者Ilkin Ahmad Jr.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 19:03:09