hdu 5050 Divided Land (java大数)

题意:

给你两个二进制数a,b,求gcd(a,b),结果用二进制输出

方法:

用JAVA大数轻松解决

 

这题中学会了很多java大数的方法

 

代码:

import java.math.BigInteger;
import java.util.*;

public class Main {
    public static void main(String[] args)
    {
         Scanner sc=new Scanner(System.in);
         int t= sc.nextInt();
         for(int k= 1; k<= t; k++)
         {
             String s= sc.next();
             BigInteger aa= new BigInteger(s, 2); //字符串s由二进制赋值给aa
             s= sc.next();
             BigInteger bb= new BigInteger(s, 2);
             BigInteger cc= new BigInteger("0");
             BigInteger e= bb.gcd(aa); // 居然可以直接gcd,真的是什么都不用手写             
             System.out.print("Case #" + k +": ");
             System.out.println(e.toString(2)); //toString(t) 转化为t进制输出
         }
    }
}


 

你可能感兴趣的:(hdu 5050 Divided Land (java大数))