Search code examples
javamethodsgreatest-common-divisor

Calculating GCD


I need help to get the GCD of two inputted numbers. I don't know why it won't return the GCD. For example GCD of 55 and 125 would be 5. Any help would be greatly appreciated. It must use methods, and no algorithms.

public static void main(String[] args)throws IOException {
        // TODO code application logic here
        //Intialize BufferReader
       minator);
        int gcd=GCD(numerator,denominator);
        System.out.println("GCD: "+gcd);


    }
     public static  int GCD(int numerator,int denominator){

       int remainder = numerator % denominator;

    if (remainder == 0)

        return denominator;

    else

        return GCD(denominator, remainder);

}

}

Solution

  • public static  int GCD(int numerator,int denominator){
             if(numerator < denominator){
                     int numswap=denominator;
                     denominator=numerator;
                     numerator=numswap;
            }
             int remainder=numerator%denominator; 
             if (remainder == 0){
                 return denominator;
             }
             System.out.println(numerator+" "+denominator);
             return GCD(denominator, remainder);
    
        }
    

    use if(numerator < denominator) instead of if(numerator > denominator)