希望哪位大虾给写个判断两个数互质的代码?

解决方案 »

  1.   

    求最大公约数就可以了:int a = 100;
    int b = 8;
    if(a < b) {
    int tmp = a;
    a = b;
    b = tmp;
    }
    int c;
    while((c = a % b) != 0) {
    a = b;
    b = c;
    }
    System.out.println(b == 1);//b == 1 表示互质
      

  2.   

    楼上原理是碾转相除法俩自然数 a ba 对b取余得cb 对 c 取余得d
    c 对 d 取余得e
    如果下去如果最终那个余数等0 ,则最大公约数是前一个数 ,等1 则互质
      

  3.   

    明白了,
    class huzhi{
    public static void main(String []args){
    int a = 83;
    int b = 41;
    if(a < b) {
        int tmp = a;
        a = b;
        b = tmp;
    }
    int c;
    while((c = a % b) != 0) {
        a = b;
        b = c;
    }
    System.out.println(b == 1);//b == 1 表示互质
    }}
    这样是对的……下面这个我这样写求最大公倍数也可以吧.
    public class huzhi{
      public static void check(int m,int n){
        int k=0;
        for(k = m;k%n!=0;k+=m);   
        if(k==m*n){
          System.out.print(m+"与"+n+"为互质数");
        }else{
          System.out.print(m+"与"+n+"不为互质数");
        }
      }
      
      public static void main(String[] args) {
        check(93,19);
      }
    }
      

  4.   

    两个自然数a和b的最大公约数和最小公倍数分别是c和d的话则a*b=c*d可以用求最大公约数的方法求最小公倍数