【GESP】C++一级练习 luogu-B2032, 等差数列末项计算
本篇文章将带你探索一个简单的等差数列问题,通过通项公式求出等差数列末项。
luogu-B2032
题目要求
描述
等差数列是一个很有趣的数列,它的任何相邻两项的差相等。
现在给出一个等差数列的前两项 $a_1,a_2$ 的值,求第 $n$ 项是多少。
输入
一行,包含三个整数 $a_1,a_2,n$($-100 \le a_1,a_2 \le 100$,$0<n \le 1000$。)
输出
一个整数,即第 $n$ 项的值。
输入样例-1
1
1 4 100
输出样例-1
1
298
题目分析
这道题目的逻辑非常简单:
- 等差数列的定义是任何相邻两项的差相等
- 已知前两项的值a1和a2,可以计算出公差d
- 根据等差数列的公式,第n项的值可以通过a1和d计算得到
- 公式为an = a1 + (n - 1) * d
因此,我们只需要从输入中读取a1, a2, 和n,然后计算出公差d,最后根据公式计算第n项的值。
示例代码
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
int main() {
int a, b, n; // 定义变量a, b, n,用于存储输入的三个整数
cin >> a >> b >> n; // 从标准输入读取三个整数a, b, n
int d = b - a; // 计算等差数列的公差d
cout << a + (n - 1) * d; // 输出第n项的值,根据等差数列的公式计算
return 0; // 返回0,表示程序执行成功
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限,欢迎加入。
本文由作者按照 CC BY 4.0 进行授权