c++判断是否是等比数列
时间: 2025-01-31 09:06:17 浏览: 39
### C++ 实现判断数列是否为等比数列
为了验证给定序列是否构成等比数列,在C++中可以通过计算相邻项的比例并检查这些比例是否一致来完成。下面提供了一种具体方法:
```cpp
#include <iostream>
#include <vector>
#include <cmath> // For fabs function
bool isGeometricProgression(const std::vector<double>& seq, double epsilon = 1e-9) {
if (seq.size() < 2) return false; // 至少需要两个元素才能形成等比数列[^1]
double ratio = seq[1] / seq[0];
for(size_t i = 2; i < seq.size(); ++i){
if(std::fabs((seq[i] / seq[i - 1]) - ratio) > epsilon){
return false;
}
}
return true;
}
int main(){
std::vector<double> testSeq = {2, 6, 18, 54};
if(isGeometricProgression(testSeq)){
std::cout << "The given sequence forms a Geometric Progression." << std::endl;
}else{
std::cout << "The given sequence does not form a Geometric Progression." << std::endl;
}
return 0;
}
```
此程序定义了一个`isGeometricProgression`函数用于检测输入数组是否满足等比数列条件。该函数接受一个双精度浮点型数值列表作为参数,并返回布尔值表示结果。这里引入了`epsilon`变量用来处理可能出现的小数舍入误差问题,确保比较时具有一定的容差范围。
阅读全文
相关推荐


















