用C语言写一个求两个数有无相等的因子
时间: 2023-04-09 17:04:41 浏览: 87
可以使用辗转相除法来判断两个数是否有相等的因子,具体实现如下:
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int has_common_factor(int a, int b) {
int g = gcd(a, b);
return g > 1;
}
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
if (has_common_factor(a, b)) {
printf("%d 和 %d 有相等的因子\n", a, b);
} else {
printf("%d 和 %d 没有相等的因子\n", a, b);
}
return 0;
}
```
这段代码中,`gcd` 函数用于求两个数的最大公约数,`has_common_factor` 函数用于判断两个数是否有相等的因子。在 `main` 函数中,先读入两个整数,然后调用 `has_common_factor` 函数判断它们是否有相等的因子,最后输出结果。
相关问题
用C语言写一个求两个数最大值的程序
可以的,以下是一个用C语言写的求两个数最大值的程序:
#include <stdio.h>
int main() {
int a, b;
printf("请输入两个整数:\n");
scanf("%d %d", &a, &b);
if (a > b) {
printf("最大值是:%d\n", a);
} else {
printf("最大值是:%d\n", b);
}
return 0;
}
希望能对您有所帮助。
用C语言写一个求两数最大公约数的代码
您好,以下是用 C 语言写一个求两数最大公约数的代码:
```
#include <stdio.h>
int gcd(int a, int b) {
if (b == ) {
return a;
} else {
return gcd(b, a % b);
}
}
int main() {
int a, b;
printf("请输入两个整数:\n");
scanf("%d%d", &a, &b);
printf("%d和%d的最大公约数是:%d\n", a, b, gcd(a, b));
return ;
}
```
感谢您的提问,还有其他问题需要我回答吗?