首页 > 编程知识 正文

判断两个整数是否互质的方法,输入两个正整数,判别他们是否为互质数

时间:2023-05-05 07:44:02 阅读:273510 作者:1528

判断两个整数互质的方法

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

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

#include<iostream>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<y,第一次循环会交换x和y的位置 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<<ret<<endl; return 0;}

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