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

C#新手技术求助:如何累加循环生成的算术序列所有值

解决算术序列累加求和的问题

嘿,作为C#新手能自己动手搭建项目、生成序列项已经超棒啦!我看你已经成功输出了算术序列的每一项,现在就差把这些值累加起来得到总和对吧?咱们一步步来解决这个问题:

首先先看你现有的代码:

class Program {
 static void Main(string[] args) {
 int a = 22;
 int b = 8;
 int answer;
 Console.WriteLine(a);
 for (int i = 1; i <= 43; i++) {
 answer = a + b * i;
 Console.WriteLine(answer);
 }
 }
}

你现在的问题是,answer变量每次循环都会被新的序列项覆盖,没有把之前的值保存并累加起来。解决方法很简单,只需要新增一个专门用于累加的变量,比如sum,初始值设为0,然后把每一项的值都加到这个变量里就行。

修改后的代码

class Program {
 static void Main(string[] args) {
 int a = 22;
 int b = 8;
 // 初始化累加变量,初始值为0
 int sum = 0;
 // 先把首项a加到总和里
 sum += a;
 Console.WriteLine(a);
 for (int i = 1; i <= 43; i++) {
 int currentItem = a + b * i;
 sum += currentItem; // 把当前项加到总和中
 Console.WriteLine(currentItem);
 }
 // 循环结束后输出总和
 Console.WriteLine($"算术序列的总和为:{sum}");
 }
}

代码解释

  • 新增sum变量用来保存累加的结果,初始值必须是0(因为0加任何数都不会改变它的值)
  • 你的序列首项是a,所以先把a加到sum里
  • 循环中每次生成当前项currentItem,然后用sum += currentItem(等价于sum = sum + currentItem)把它累加到总和中
  • 循环结束后,sum就是所有序列项的总和了

额外小技巧:用算术公式直接计算(更高效)

其实算术序列的求和有现成的公式,不需要循环累加,计算效率更高:

总和 = 项数 × (首项 + 末项) ÷ 2

你的序列首项是a=22,末项是a + 43*b = 22 + 43*8 = 366,项数是44项(首项+后面43项),代入公式就是:
总和 = 44 × (22 + 366) ÷ 2 = 44 × 388 ÷ 2 = 8536

用代码实现的话,直接这样写就行:

class Program {
 static void Main(string[] args) {
 int a = 22;
 int b = 8;
 int termCount = 44; // 首项+43个后续项,共44项
 int lastTerm = a + b * 43;
 int sum = termCount * (a + lastTerm) / 2;
 Console.WriteLine($"算术序列的总和为:{sum}");
 }
}

两种方法都能得到正确结果,循环累加适合理解过程,公式计算适合高效求解,你可以根据自己的需求选择~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:24:30