题解:P5534 【XR-3】等差数列

· · 题解

前置知识

  1. 公差:相邻两项的差,记作 d = a_2 - a_1
  2. 等差数列通项公式:第 n 项的值 a_n = a_1 + (n-1) \times d
  3. 等差数列求和公式:前 n 项的和 S_n = \frac{n(a_1 + a_n)}{2}

公式推导

我们从最基本的等差数列性质出发进行推导:

步骤 1:确定公差

d = a_2 - a_1

步骤 2:写出通项公式 等差数列中,第 k 项可以表示为:

a_k = a_1 + (k-1) \times d

特别地,第 n 项为:

a_n = a_1 + (n-1) \times d

步骤 3:应用求和公式 等差数列前 n 项和公式为:

S_n = \frac{n \times (a_1 + a_n)}{2}

a_n 的表达式代入:

S_n = \frac{n \times [a_1 + a_1 + (n-1) \times d]}{2}

步骤 4:化简公式

S_n = \frac{n \times [2a_1 + (n-1) \times d]}{2} S_n = n \times a_1 + \frac{n \times (n-1)}{2} \times d

步骤 5:代入公差\ 将 d = a_2 - a_1 代入:

S_n = n \times a_1 + \frac{n \times (n-1)}{2} \times (a_2 - a_1)

这就是我们最终使用的计算公式。

代码实现

#include <bits/stdc++.h>
using namespace std;

int main() {
    long long a1, a2, n;
    cin >> a1 >> a2 >> n;

    // 使用等差数列求和公式
    long long sum = n * a1 + n * (n - 1) / 2 * (a2 - a1);

    cout << sum << endl;
    return 0;
}