HDU5050:Divided Land(大数的进制转化与GCD)

题意:给定大数A和B,求gcd。所有数字都是二进制。

思路:先输入字符串,再转化为大数,然后用大数的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);
        }
    }
}

 

你可能感兴趣的:(HDU5050:Divided Land(大数的进制转化与GCD))