a024. 最大公因數(GCD)
    我作弊,用BigInteger.gcd(),缺點是比較慢。
    另一個方法是輾轉相除法,非常經典的遞迴,可以看看這個影片:歐幾里得演算法(輾轉相除法)
    
    
        輾轉相除法:
        public static int gcd(int a, int b){
            return b == 0 ? a: gcd(b, a % b);
        }
    
程式碼如下:
/* a024. 最大公因數(GCD) 
*
* 2020/3/2
*/
import java.util.Scanner;
import java.math.BigInteger;
public class Pa024{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            BigInteger big_a = new BigInteger(scanner.next());
            BigInteger big_b = new BigInteger(scanner.next());
                
            System.out.println(big_a.gcd(big_b));
        }
    }
}
沒有留言:
張貼留言