C++ 等差/等比数列判断与计算 - 猜猜下一个数
#include
int main() { int N; cin >> N;
vector<int> A(N);
for (int i = 0; i < N; i++) {
cin >> A[i];
}
int diff = A[1] - A[0];
int ratio = A[1] / A[0];
bool isArithmetic = true;
bool isGeometric = true;
for (int i = 2; i < N; i++) {
if (A[i] - A[i-1] != diff) {
isArithmetic = false;
}
if (A[i] / A[i-1] != ratio) {
isGeometric = false;
}
}
int AN;
if (isArithmetic) {
AN = A[N-1] + diff;
} else if (isGeometric) {
AN = A[N-1] * ratio;
}
cout << AN << endl;
return 0;
}
原文地址: http://www.cveoy.top/t/topic/pFoz 著作权归作者所有。请勿转载和采集!