题目描述:给定两串二进制,求其最大公约数,并以二进制的形式输出?
解题思路:java大整数
1、首先题目数据范围非常大,明显要用大整数
2、题目的输入和输出都是二进制,这个可以使用java方便的完成
3、求最大公约数,gcd即可,其实java大整数里面已经有这个函数了直接调用就行
代码
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
private static Scanner cin;
public static void main(String[] args) {
int T;
cin = new Scanner(new BufferedInputStream(System.in));
T = cin.nextInt();
for(int t=1;t<=T;t++){
BigInteger x=cin.nextBigInteger(2);
BigInteger y=cin.nextBigInteger(2);
BigInteger ans=x.gcd(y);
System.out.println("Case #"+t+": "+ans.toString(2));
}
cin.close();
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/mengxingyuanlove/article/details/48048023