“最大公约数问题”的连续整数检测c语言源代码
时间: 2024-09-15 09:09:14 浏览: 11
在C语言中,解决最大公约数(Greatest Common Divisor, GCD)问题并检测连续整数通常涉及到欧几里得算法。下面是一个简单的示例代码,用于计算两个整数的最大公约数,并检查它们是否相邻:
```c
#include <stdio.h>
// 使用欧几里得算法计算最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 检查连续整数
int are_consecutive(int num1, int num2) {
return abs(num2 - num1) == 1;
}
int main() {
int num1, num2;
printf("Enter two integers: ");
scanf("%d%d", &num1, &num2);
// 计算最大公约数
int result = gcd(num1, num2);
printf("GCD of %d and %d is: %d\n", num1, num2, result);
// 检查是否连续
if (are_consecutive(num1, num2)) {
printf("The numbers are consecutive.\n");
} else {
printf("The numbers are not consecutive.\n");
}
return 0;
}
```
这个程序首先获取用户输入的两个整数,然后计算它们的最大公约数。接下来,它会检查这两个数字是否相差1,如果是,则说明它们是连续的。