HDU5050:Divided Land(大數的進制轉化與GCD)

題意:給定大數A和B,求gcd。全部數字都是二進制。java

思路:先輸入字符串,再轉化爲大數,而後用大數的gcd函數,最後轉化爲字符串輸出。 利用字符串和大數轉化的時候能夠聲明進制,就很舒服的完成了進制轉化。函數

import java.math.BigInteger;
import java.util.Scanner;
import java.io.*;
/*
@author nimphy
@create 2019-11-06-12:50
about:
*/public class Main {
    static Scanner sc = new Scanner (System.in);
    static BigInteger a,b;
    public static void main (String[] args) {
        int T;
        T = sc.nextInt();
        for(int i=1;i<=T;i++){
            String aa = sc.next();
            String bb = sc.next();
            a = new BigInteger(aa,2);
            b = new BigInteger(bb,2);
            //System.out.println(a+" "+b);
            String ans = (a.gcd(b)).toString(2);
            System.out.println("Case #"+i+": "+ans);
        }
    }
}
相關文章
相關標籤/搜索