用计算机程序解小学数列问题

最近又碰到了一道数学题,孩子第一次自己做出来了,复习的时候却发现又不会做了。题目是这样的:

有 20 个数,第一个数是 9 ,以后每个数都比前一个数大 3,这 20 个数连加,和是多少?

看题目我们可以知道,这 20 个数构成了一个等差数列。可是,小学貌似没有学过等差数列吧?

那我们按照题意穷举列出算式:

看这个算式,我们可以发现规律,第 个数里面的 3 的数量是

那么我们可以推出第 20 个数是:

根据传说中的「高斯求和」可以得出和为:

如果用计算机来解,似乎并不费力,也有很多算法。我们来个最容易想到的:

1
2
3
4
5
6
7
let sum = 9;
for (let i = 1; i < 20; i++) {
let currentCount = 9 + 3 * i; // 计算当前数
sum += currentCount; // 加上当前数
}

console.log(sum); // 750

如果你有更好的方法,烦请告诉我。