codewars056: Common Denominators 公分母

Instructions:

Common Denominatorsjava

Solution:

public class Fracts{
    private static long maximumCommonDivisor(long m, long n){
        while(m % n != 0){
            long temp = m % n;
            m = n;
            n = temp;
        }    
        return n;
    }    
    private static long leastCommonMultiple(long m, long n){
        return m * n / Fracts.maximumCommonDivisor(m,n);
    }    
    public static String convertFrac(long[][] lst){
          long mul = Fracts.leastCommonMultiple(lst[0][1],lst[1][1]);  
          for(int i = 2; i < lst.length; i++){
            mul = Fracts.leastCommonMultiple(mul, lst[i][1]);
          }  
        StringBuilder sb = new StringBuilder();
        for(int i = 0; i < lst.length; i++){
            sb.append(String.format("(%d,%d)",mul*lst[i][0]/lst[i][1],mul),);
        }   
        return sb.toString(); 
    }    
}

Example Tests:

TBD
https://www.codewars.com/kata/54d7660d2daf68c619000d95/train/java
相關文章
相關標籤/搜索