判断两个数a,b是否为互质数的程序,用C语言编写?38
发布网友
发布时间:2023-10-13 01:29
我来回答
共3个回答
热心网友
时间:2024-12-12 22:53
两个数互质,就是说两个数的没有公共因子,即最大公约数是1
程序如下:
#include <stdio.h>
int GCD(int x,int y)//最大公约数函数,欧几里德算法
{
int a,b,c;
if(x>y)
{a=x,b=y;}
else
{a=y,b=x;}
while ((a%b)!=0)
{
c=a%b;
a=b;
b=c;
}
return b;
}
int main()
{
int m,n;
printf("please input two positive numbers:");
scanf("%d%d",&m,&n);
if(GCD(m,n)>1)
printf("两个数不是互质的。\n");
else
printf("两个数是互质的。\n");
}
输入示例:100 3
输出:两个数是互质的。
程序在DEV C++下调试通过,最大公约数计算使用的是欧几里德算法(数论基础知识),看过就明白了。
热心网友
时间:2024-12-12 22:54
楼上的 互质就是两个数公约数为1
#include<stdio.h>
main()
{ int a,b,temp;
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
while(b!=0){
temp=b;
b=a%b;
a=temp;
}
if(a==1){
printf("YES");
}else{
printf("no");
}
}
热心网友
时间:2024-12-12 22:54
没有互为质数的说法呀,质数只是一个数的问题,没有两个数互为的道理。