等差数列

等差数列,又名算术数列,是数列的一种。在等差数列中,任何相邻两项的差相等,该差值称为公差。

假设我们有很多数据有规律地排列,利用等差数列我们可以很快推断某一项的数据。我们要掌握的就是学会寻找数与数之间的关系,推导出一个通项公式。


📐 数学公式

如果一个等差数列的首项记作 a[1],公差记作 d,那么该等差数列第 n 项 a[n] 的一般项为:

通项公式:a[n] = a[1] + (n-1)d
公差:d = a[n+1] - a[n]
给定任意两项 a[m] 和 a[n] ,则有公差 d = (a[m] - a[n]) ÷  (m-n)

---------------------

等差数列的和为:Sn = ( (a[1] + a[n]) * n ) ÷ 2
如等差数列 {1, 3, 5, 7} 的和是 1 + 3 + 5 + 7 = 16,由公式计算: ((1+7)*4) ÷ 2 = 16

📌 JavaScript

参考代码:index.js

/*
 * 创建公差为n的等差数列
 *
 * @param {Number} n  - 公差
 * @param {Number} maxNum  - 限制最大值
 * @returns 
 */
export function arithmeticProgression(n, maxNum) {
    return Array.from({ length: Math.ceil(maxNum / n) }, function (element, index) {
        return (index + 1) * n
    });
}

测试:test.js

import { arithmeticProgression } from './index';

/* 创建一个7为公差的等差数列(最大值不能超过 25+7 ) */
console.log(arithmeticProgression(7, 25));

/* 输出:
[7, 14, 21, 28]
*/