连续整数检测算法和欧几里得算法c++
时间: 2024-09-06 08:06:42 浏览: 108
算法_用欧几里得算法求最大公因数_
5星 · 资源好评率100%
连续整数检测算法通常用于检查一段给定的数字序列中是否存在连续的整数序列,例如 [5, 6, 7, 8, 9] 或者 [10, 11, 12, 13, 14]。这种算法可以通过简单的遍历和比较来实现。下面是一个简单的C++示例:
```cpp
#include <iostream>
#include <vector>
bool isContinuous(const std::vector<int>& numbers) {
if (numbers.empty()) {
return false;
}
int prev = numbers[0];
for (int i = 1; i < numbers.size(); ++i) {
if (numbers[i] != prev + 1) {
return false;
}
prev = numbers[i];
}
return true;
}
int main() {
std::vector<int> sequence = {5, 6, 7, 8, 9};
if (isContinuous(sequence)) {
std::cout << "Sequence is continuous." << std::endl;
} else {
std::cout << "Sequence is not continuous." << std::endl;
}
return 0;
}
```
这个程序首先检查序列是否为空,然后通过逐个比较元素之间的差值是否为1,判断是否有连续整数。
欧几里得算法(Euclidean Algorithm),也称辗转相除法,用于求两个正整数的最大公约数(GCD)。其基本思想是不断将较大的数除以较小的数,直到余数为零,此时较小的数就是最大公约数。以下是C++实现:
```cpp
int gcd(int a, int b) {
while (b != 0) {
int temp = a % b;
a = b;
b = temp;
}
return a;
}
int main() {
int num1 = 48, num2 = 18;
int result = gcd(num1, num2);
std::cout << "The GCD of " << num1 << " and " << num2 << " is: " << result << std::endl;
return 0;
}
```
阅读全文