第二题:T2等差数列的判定
标签:等差数列、数学、枚举
题意:给定
n
n
n及
a
1
,
a
2
,
a
3
,
…
,
a
n
a_1,a_2,a_3,…,a_n
a1,a2,a3,…,an请判定给的数列是否是一个等差数列。
题解:通过
a
2
−
a
1
a_2-a_1
a2−a1得到公差
d
d
d,然后依次求出相邻两项的差值,看看是否和公差相同即可。
代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 1e5 + 10;
ll n, a[N];
int main() {
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
for (int i = 3; i <= n; i++) {
// 公差 d=a[2]-a[1]
if ((a[i] - a[i - 1]) != (a[2] - a[1])) {
cout << "No";
return 0;
}
}
cout << "Arithmetic Sequence";
return 0;
}