用C++输入两个数,判别它们是否为互质数
时间: 2024-05-12 10:16:18 浏览: 13
```
#include <stdio.h>
int gcd(int a, int b); // 函数声明
int main()
{
int a, b;
printf("请输入两个数:");
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;
}
int gcd(int a, int b) // 求最大公约数的函数
{
int temp;
while (b != 0)
{
temp = a % b;
a = b;
b = temp;
}
return a;
}
```
解释:用辗转相除法求出两个数的最大公约数,若最大公约数为1,则它们为互质数。
相关问题
输入两个数,判别它们是否为互质数
互质数的定义是它们的最大公约数为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("它们不是互质数")
```
写一段代码:输入两个正整数,判断它们是否互为互质数。
```
#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是互质数
```