您的位置:首页 > 其它

hdu 5050 Divided Land

2014-09-27 21:43 363 查看
题目入口hdu 5050

题目大意:对于给出的两个二进制大数(范围为( 0 , 2^1000 ]),计算出其最大公约数,并以二进制格式输出。

编者小语:原本是想用 C 实现的,奈何不会那些个繁复动作,只好试着用 Java 实现,身边有小伙伴会用 Java 写大数题,感觉挺腻害的。于是下了 eclipse ,找了些资料试着写下,看看代码确实挺简洁的,毕竟函数工具是现成的,只要知道怎么调用就行了。 待会儿得把网上找来的大数类的函数工具贴一下,备忘~

参考代码

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

@SuppressWarnings("unused")
public class Main
{

public static void main(String[] args)
{
@SuppressWarnings("resource")
Scanner cin=new Scanner(System.in);
int T=cin.nextInt();
int cnt=1;
while(T>0)
{
String n=cin.next();
String m=cin.next();
BigInteger ans1=new BigInteger(n,2);
BigInteger ans2=new BigInteger(m,2);
BigInteger ans=ans1.gcd(ans2);
System.out.print("Case #"+cnt+": ");
System.out.println(ans.toString(2));
cnt++;
T--;
}
}

}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: