B2032 题解
水题解
因为是入门与面试题库所以题解要写详细一些?
Description
给定等差数列的前两项
a_1,a_2 与n ,求a_n 。
Solution
等差数列是任意两项之间的差一定的递增或递减序列,两项之间的差
按照公差的定义,我们就可以知道
知道了
-
a_2=a_1+d -
a_3=a_2+d=a_1+2d -
a_4=a_3+d=a_1+3d -
\cdots -
a_n=a_{n-1}+d=a_1+(n-1)d
按照上面的思路,问题也就迎刃而解了。
Code
#include <bits/stdc++.h>
using namespace std;
int main () {
int a1, a2, n;
scanf("%d%d%d", &a1, &a2, &n);
int d = a2 - a1; // 计算公差
int an = a1 + d * (n - 1); // 按照上面的递推思路计算 an
printf("%d\n", an);
return 0;
}