【Java常用方法】求两个数的最大公因数、最小公倍数,两数是否互质 | 您所在的位置:网站首页 › java怎么求最小公倍数 › 【Java常用方法】求两个数的最大公因数、最小公倍数,两数是否互质 |
最大公因数
最好的办法就是gcd辗转相除法。有两种方式,一种是迭代,一种是递归。 //迭代版本 int gcd(int a,int b){ while(b!=0){ int r=b; b=a%b; a=r; } return a; } //递归版本 int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b); } 最小公倍数最小公倍数就是二者相乘,再除以最大公约数 int mulMin(int a,int b){ return a*b/gcd(a,b); } 互质两个数是否互质,就是最大公因数为1 boolean gcd(int a,int b){ if(b==0) return a==1; return gcd(b,a%b); } |
CopyRight 2018-2019 实验室设备网 版权所有 |