首页 > 编程知识 正文

输入两个正整数,判别他们是否为互质数,编写函数判断两个整数是否互质

时间:2023-05-04 06:23:40 阅读:273516 作者:328

判断两个整数互质的方法

概念:公约数只有1的两个数叫做互质数。根据互质数的概念可以对一组数是否互质进行判断。如:9和11的公约数只有1,则它们是互质数。

求商判断法:用大数除以小数,如果除得的余数与其中较小数互质,则原来两个数是互质数。如:317和52,317÷52=6……5,因余数5与52互质,则317和52是互质数。

#include

using namespace std;

bool isCoprime(int x,int y)

{

if(x==1 && y==1)//1和1互质

return true;

else if(x<=0 || y<=0 || x==y)//非正整数都不存在互质的说法

return false;

else if(x==1 || y==1)//1和任何正整数都互质

return true;

else

{

int tmp=0;

//使用求商判断法,如果输入的x

while(true)

{

tmp=x%y;

if(tmp==0)

{

break;

}

else

{

x=y;

y=tmp;

}

}

if(y==1) //最大公约数为1,所以互质

return true;

else //最大公约数大于1,所以不互质

return false;

}

}

int main(void)

{

bool ret=isCoprime(19,6);

cout<

return 0;

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。