写一段代码:输入两个正整数,判断它们是否互为互质数。
时间: 2024-05-14 19:12:07 浏览: 10
```
#include <stdio.h>
int gcd(int a, int b) { // 求最大公约数函数
if (a % b == 0) {
return b;
} else {
return gcd(b, a%b);
}
}
int main() {
int a, b;
printf("请输入两个正整数:");
scanf("%d %d", &a, &b);
if (gcd(a, b) == 1) { // 如果最大公约数是1,则互为互质数
printf("%d和%d是互质数\n", a, b);
} else {
printf("%d和%d不是互质数\n", a, b);
}
return 0;
}
```
输入样例:
```
请输入两个正整数:16 27
```
输出样例:
```
16和27是互质数
```
相关问题
输入两个数,判别它们是否为互质数
互质数的定义是它们的最大公约数为1。因此,可以先写一个函数来求两个数的最大公约数,然后再根据最大公约数是否为1来判断它们是否为互质数。
以下是Python代码示例:
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
if gcd(num1, num2) == 1:
print("它们是互质数")
else:
print("它们不是互质数")
```
c语言编写判断两个整数是否互质数
可以使用辗转相除法来判断两个整数是否互质数。具体步骤如下:
1. 定义一个函数gcd,用于计算两个数的最大公约数,代码如下:
```c
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
```
2. 在主函数中输入两个整数a和b,如果它们的最大公约数等于1,则它们是互质数,否则它们不是互质数,代码如下:
```c
int main() {
int a, b;
printf("请输入两个整数:\n");
scanf("%d %d", &a, &b);
if (gcd(a, b) == 1) {
printf("%d和%d是互质数\n", a, b);
} else {
printf("%d和%d不是互质数\n", a, b);
}
return 0;
}
```
注意:以上代码中的printf和scanf函数需要在程序开头引入头文件stdio.h。