计算工具 · 数学计算

等差等比数列

通项/求和/任意项

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 63 次使用
aₙ=a₁+(n−1)d,Sₙ=n(a₁+aₙ)/2。项数上限 100000。
数列可视化横轴 n · 纵轴 aₙ · nice-ticks 坐标轴
等差呈线性、等比呈指数曲线;可切换散点折线 / 柱状图,求和面积叠加。
前 N 项列表a₁ … aₙ 显示 20 项 · 长数自动缩写
20
区间求和S(m, n) = aₘ + aₘ₊₁ + … + aₙ
经典数列示例点击载入参数
公式速查通项 · 求和 · 无穷和 · 性质

等差通项aₙ = a₁ + (n−1)·d

等差求和Sₙ = n(a₁+aₙ)/2 = n·a₁ + n(n−1)d/2

等比通项aₙ = a₁·qⁿ⁻¹

等比求和Sₙ = a₁(1−qⁿ)/(1−q)(q≠1);q=1 时 Sₙ = n·a₁

无穷等比S = a₁/(1−q)(仅当 |q|<1 收敛)

等差中项2aₖ = aₖ₋₁ + aₖ₊₁,任意相邻三项成等差

等比中项aₖ² = aₖ₋₁·aₖ₊₁(同号),几何平均

高斯求和1+2+…+n = n(n+1)/2(公差 d=1 的等差)

就绪 · 等差/等比 通项·求和·任意项 · 等比整数走 BigInt 精确 · |q|<1 求无穷和
第一节

关于本工具

About

学生对着数列题列了通项,求和却不知从哪代起——等差等比数列工具把通项、前n项和、任意项三个入口放平,输入首项、公差或公比,直接出结果。支持指定项数范围批量输出,适合作业检查、习题自测或教案准备。计算在浏览器内完成,数据不上传服务器。

使用场景

复利存款倒推本金

理财顾问推荐一款年化 3.5% 的五年期产品,说到期能拿到 12 万。用户想反推现在需要存多少本金。手动算复利公式容易漏掉复利期数,用本工具的通项公式,设置 a₁ 为未知数,公比 q = 1.035,项数 n = 5,直接解出 a₁ 约为 10.1 万。比用手机计算器反复试错快三倍,且不会因为小数位取舍偏差导致本金算错。

装修分期还款测算

装修公司报价 20 万,用户打算用信用卡分期 24 期还,每期手续费 0.6%。销售说「每期只还 8333 本金加 120 手续费」,但用户怀疑实际年化利率远高于宣传。用本工具把每期还款额看作等比数列求和,输入首项 8453、公比 1、项数 24,得到总还款 20.29 万。再对比用等额本息公式反推,发现实际年化约 13%,远高于表面 7.2%,决定改用低息消费贷。

运动会赛程阶梯减量

田径教练为 1500 米运动员制定赛前一周训练量:周一跑 5000 米,之后每天递减 10%。周四该跑多少米?用本工具通项公式,a₁=5000,q=0.9,n=4,直接算出周四需跑 3645 米。如果按等差数列每天减固定 500 米,周四只剩 3500 米,强度过低。等比递减更符合超量恢复原理,工具让教练不用手算指数,专注调整减量百分比。

库存盘点误差追责

仓库发现一批电子元件库存对不上:月初入库 1000 个,每天按固定比例出库,记录显示第 7 天剩 478 个。主管怀疑有人多拿,用本工具反推出库比例:a₁=1000,a₇=478,n=7,通项公式解得 q≈0.9,即每天出库 10%。按此比例第 7 天应剩 478 个,与记录吻合,排除人为偷盗,确认是出库流程中损耗率被低估。

音乐节拍器速度校准

吉他手练习一段 16 分音符的速弹,节拍器设 120 BPM,但感觉实际速度忽快忽慢。用本工具验证:120 BPM 下每分钟 120 拍,每拍 0.5 秒。如果节拍器每拍误差 2%(q=1.02),第 10 拍时延误差已累积到 0.5×(1.02¹⁰-1)≈0.11 秒,足够让音符堆叠。工具算出等比累积效应后,吉他手改用电子节拍器而非机械式。

对比矩阵

维度本工具竞品 A(Desmos)传统方法(手算/计算器)
输入方式直接输入首项、公差/公比、项数需在函数编辑器中构造数列公式逐项手算或按计算器累加
任意项查询输入 n 直接输出第 n 项值需拖动滑块或手动输入 n 值需自行推导通项公式再代入
求和计算一键输出前 n 项和(等差/等比)需额外输入求和函数 sum()需手动套用求和公式,易出错
等比数列公比限制公比可为任意实数(含负数、小数)公比可为任意实数负数公比易混淆,手算易漏项
结果精度保留多位小数,无四舍五入截断默认显示有限小数,可手动调整依赖计算器精度,常需四舍五入
离线可用纯浏览器运行,无需网络需要网络加载完全离线
第二节

使用指南

Getting Started

使用步骤

  1. 1在「首项 a₁」和「公差/公比 d」输入框键入数值,支持整数与小数,负数用减号
  2. 2选择「等差」或「等比」模式,下方公式预览区同步显示通项表达式
  3. 3在「项数 n」框输入目标位置(如 10),点击「计算」按钮,结果区输出第 n 项值
  4. 4勾选「求和」开关,结果区追加显示前 n 项和 Sₙ,等比模式自动区分 q=1 与 q≠1
  5. 5点击「任意项」标签,输入任意序号 m 与 n,工具输出两项的比值或差值,无需重复计算

输入输出示例

输入输出说明
首项: 2, 公差: 3, 项数: 5, 求: 通项公式an = 2 + (n-1) * 3 = 3n - 1常规:等差数列基础通项,验证公式推导正确性
首项: 1, 公比: 2, 项数: 10, 求: 前n项和S10 = 1 * (2^10 - 1) / (2 - 1) = 1023常规:等比数列求和,验证大数计算精度(2^10=1024)
首项: 0, 公差: 5, 项数: 100, 求: 第100项a100 = 0 + (100-1) * 5 = 495边界:首项为0时,通项公式首项项不消失,验证公式处理
首项: 1, 公比: 1, 项数: 1000, 求: 前n项和S1000 = 1000边界:公比为1的等比数列退化为常数列,求和公式需特殊处理(分母为0)
首项: 2, 公差: -3, 项数: 8, 求: 第8项a8 = 2 + (8-1) * (-3) = -19易错:负公差导致项值递减,用户易忽略符号运算
首项: 1, 公比: 0.5, 项数: 20, 求: 第20项a20 = 1 * 0.5^(20-1) = 1.9073486328125e-6易错:公比为小数时项值快速趋近0,验证浮点数精度与科学计数法显示
首项: 10, 公差: 0, 项数: 5, 求: 前n项和S5 = 5 * 10 + 5*4/2 * 0 = 50常规:公差为0的等差数列(常数列),验证求和公式仍正确

常见错误对照

1.公差 d 或公比 q 输入了非数字字符

✗ 错误首项: 1, 公差: 2a
✓ 修复首项: 1, 公差: 2

工具只接受纯数字(含负数、小数),字母或符号会导致解析失败,返回 NaN 或报错。

2.等比数列中公比 q 设为 0

✗ 错误首项: 5, 公比: 0, 项数: 10
✓ 修复首项: 5, 公比: 2, 项数: 10

公比 q=0 时,从第二项起全为 0,通项公式 aₙ = a₁·qⁿ⁻¹ 仍成立,但实际数列退化,无计算意义,工具可能输出全 0 结果。

3.求和时项数 n 输入了小数

✗ 错误首项: 1, 公差: 2, 项数: 5.5
✓ 修复首项: 1, 公差: 2, 项数: 5

项数 n 必须是正整数。小数项数无数学意义,工具会截断取整或直接拒绝计算。

4.等比数列求和时公比 q=1 但用了求和公式

✗ 错误首项: 3, 公比: 1, 项数: 10, 期望用 Sₙ = a₁(1-qⁿ)/(1-q)
✓ 修复首项: 3, 公比: 1, 项数: 10, 实际和为 30(即 n·a₁)

标准等比求和公式在 q=1 时分母为 0,数学上不成立。此时数列为常数列,和 = 首项 × 项数。

5.等差数列通项公式中项数 n 从 0 开始误算

✗ 错误首项: 2, 公差: 3, 想求第 5 项,输入 n=5 得到 17
✓ 修复首项: 2, 公差: 3, 第 5 项应输入 n=5,正确结果 2+(5-1)×3=14

通项公式 aₙ = a₁ + (n-1)d,n 代表第 n 项,不是索引。若误将 n 当索引,会多算一个公差。

6.负数公差/公比导致符号理解偏差

✗ 错误首项: 10, 公差: -3, 认为第 3 项是 10+(-3)×2=4
✓ 修复首项: 10, 公差: -3, 第 3 项 = 10 + (3-1)×(-3) = 4,结果正确但用户误以为符号算错

负数公差/公比会交替符号或递减,结果可能为负,用户常误判为计算错误,实际公式正确。

7.输入了超大数值导致浮点溢出

✗ 错误首项: 1e15, 公差: 1e15, 项数: 1000
✓ 修复首项: 1, 公差: 1, 项数: 1000

JavaScript 数字精度约 15-16 位有效数字,超大数值累加后尾数丢失,结果不精确。工具基于浏览器运算,受限于 IEEE 754 双精度浮点。

第三节

工作原理

How It Works

核心公式

S_n = n/2 × (2a₁ + (n-1)d) 或 S_n = n/2 × (a₁ + a_n)

变量说明

  • S_n前 n 项和
  • n项数,正整数
  • a₁首项
  • d公差
  • a_n第 n 项

示例

等差数列首项 a₁=3,公差 d=5,求前 10 项和:先算 a₁₀ = 3 + (10-1)×5 = 48,代入 S₁₀ = 10/2 × (3 + 48) = 5 × 51 = 255。

等差等比数列 · 本地计算流程输入参数首项 / 公差 / 公比项数 / 目标项号类型判断等差 / 等比通项 / 求和 / 任意项公式选择浏览器内计算纯前端 JS 运算无网络请求结果展示数列列表 / 和值
用户输入 本地处理 输出结果
第四节

开发者集成

For Developers

5 种主流语言实现,复制即用:

def arithmetic_sequence(a1, d, n): """等差数列:通项 an = a1 + (n-1)*d,前 n 项和 Sn = n*(a1+an)/2""" an = a1 + (n - 1) * d sn = n * (a1 + an) // 2 return an, sn def geometric_sequence(a1, q, n): """等比数列:通项 an = a1 * q^(n-1),前 n 项和 Sn = a1*(1-q^n)/(1-q) (q≠1)""" an = a1 * (q ** (n - 1)) if q == 1: sn = a1 * n else: sn = a1 * (1 - q ** n) / (1 - q) return an, sn # 示例:等差数列 a1=2, d=3, n=5 → an=14, sn=40 print(arithmetic_sequence(2, 3, 5)) # 示例:等比数列 a1=3, q=2, n=4 → an=24, sn=45.0 print(geometric_sequence(3, 2, 4))
function arithmeticSequence(a1, d, n) { const an = a1 + (n - 1) * d; const sn = n * (a1 + an) / 2; return { an, sn }; } function geometricSequence(a1, q, n) { const an = a1 * Math.pow(q, n - 1); let sn; if (q === 1) { sn = a1 * n; } else { sn = a1 * (1 - Math.pow(q, n)) / (1 - q); } return { an, sn }; } console.log(arithmeticSequence(2, 3, 5)); // { an: 14, sn: 40 } console.log(geometricSequence(3, 2, 4)); // { an: 24, sn: 45 }
package main import "fmt" func arithmetic(a1, d, n float64) (an, sn float64) { an = a1 + (n-1)*d sn = n * (a1 + an) / 2 return } func geometric(a1, q, n float64) (an, sn float64) { an = a1 * pow(q, n-1) if q == 1 { sn = a1 * n } else { sn = a1 * (1 - pow(q, n)) / (1 - q) } return } func pow(base, exp float64) float64 { result := 1.0 for i := 0.0; i < exp; i++ { result *= base } return result } func main() { fmt.Println(arithmetic(2, 3, 5)) // 14 40 fmt.Println(geometric(3, 2, 4)) // 24 45 }
public class SequenceCalculator { public static double[] arithmetic(double a1, double d, int n) { double an = a1 + (n - 1) * d; double sn = n * (a1 + an) / 2; return new double[]{an, sn}; } public static double[] geometric(double a1, double q, int n) { double an = a1 * Math.pow(q, n - 1); double sn; if (q == 1) { sn = a1 * n; } else { sn = a1 * (1 - Math.pow(q, n)) / (1 - q); } return new double[]{an, sn}; } public static void main(String[] args) { double[] arith = arithmetic(2, 3, 5); System.out.println(arith[0] + " " + arith[1]); // 14.0 40.0 double[] geom = geometric(3, 2, 4); System.out.println(geom[0] + " " + geom[1]); // 24.0 45.0 } }
fn arithmetic(a1: f64, d: f64, n: i32) -> (f64, f64) { let an = a1 + (n as f64 - 1.0) * d; let sn = (n as f64) * (a1 + an) / 2.0; (an, sn) } fn geometric(a1: f64, q: f64, n: i32) -> (f64, f64) { let an = a1 * q.powi(n - 1); let sn = if q == 1.0 { a1 * n as f64 } else { a1 * (1.0 - q.powi(n)) / (1.0 - q) }; (an, sn) } fn main() { println!("{:?}", arithmetic(2.0, 3.0, 5)); // (14.0, 40.0) println!("{:?}", geometric(3.0, 2.0, 4)); // (24.0, 45.0) }
第五节

常见问题

Q & A
我知道首项和公差,但不知道项数,能算前 N 项和吗?

可以。本工具求和模式支持两种输入方式:1)已知首项、公差和项数,直接算前 N 项和;2)已知首项、末项和项数,算总和。如果你只知道首项和公差但项数未知,需要先确定项数(比如题目里给了“从第几项到第几项”),再代入。如果完全没给项数,工具无法自动推断。

等比数列公比是分数或小数,结果为什么显示成很多位小数?

本工具默认保留 6 位小数,不自动四舍五入截断,这是为了避免中间计算误差累积。如果你需要特定精度,可以手动复制结果到自己的计算中。如果公比是 1/3 这种循环小数,建议用分数形式输入(比如直接输入 0.333333),工具会按你输入的值计算,不会自动化简为分数。

我输入了首项 2、公差 3、项数 5,但求和结果和手算不一样?

先检查输入顺序是否正确:本工具输入框依次是首项、公差/公比、项数。首项 2、公差 3、项数 5 时,数列为 2,5,8,11,14,前 5 项和应为 40。如果结果不是 40,可能是把公差输到了首项位置。另外,求和模式默认计算从第 1 项到第 N 项,如果题目要求从第 m 项到第 n 项,需要先手动算出第 m 项作为新首项。

数列里既有正数又有负数,结果会不会算错?

不会。本工具支持负数输入,公差或公比可以是负数,例如等差数列首项 5、公差 -2 会得到 5,3,1,-1... 结果正确。但注意:等比数列公比为负数时,奇数项和偶数项符号交替,求和结果可能比预期小甚至接近 0,这是数学特性,不是计算错误。如果结果异常,可以先检查公比符号是否输反。

为什么我用这个工具算出来的结果和课本上的公式不一样?

本工具底层直接实现通项公式 an = a1 + (n-1)d 和求和公式 Sn = n/2 * (2a1 + (n-1)d)(等差),以及 an = a1 * q^(n-1) 和 Sn = a1(1-q^n)/(1-q)(等比,q≠1)。如果结果和课本不一致,常见原因:1)课本用了另一种等价形式(如等比求和公式分 q=1 和 q≠1 两种情况);2)输入顺序错了;3)项数 n 包含首项,有些题目项数要减 1。建议先拿一个简单例子(如首项 1、公差 1、项数 3)验证结果是否为 6。

这个工具能算无穷等比数列的和吗?

不能直接算无穷项和。本工具只支持有限项输入(项数最大支持 1000 项)。如果需要计算无穷等比级数的和(公比绝对值小于 1 时),可以手动输入一个足够大的项数(比如 1000)近似结果,但注意当公比接近 1 时,1000 项可能仍有较大误差。严格计算无穷和请使用专门的级数计算工具。

我输入了很大的数字(比如首项 10 万、项数 500),结果变成科学计数法了?

当结果超过 9999999 时,本工具会自动切换为科学计数法显示(如 1.23e+8),这是为了保持界面整洁。你仍然可以复制这个科学计数法数值用于后续计算。如果不想看到科学计数法,可以尝试减小项数或输入较小的数字。底层计算精度不受影响,只是显示格式变了。

能不能直接算出第 100 项的值,而不需要列出前面所有项?

可以。本工具提供“任意项”模式,输入首项、公差/公比和想查的项数(比如 100),直接输出第 100 项的值,不展示中间项。如果你需要同时查看通项和求和结果,可以先用“通项”模式算第 100 项,再切到“求和”模式算前 100 项和,两个功能互不干扰。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭