HDU-5050 java大数
生活随笔
收集整理的這篇文章主要介紹了
HDU-5050 java大数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意
給出一對長和寬 輸出在這個長和寬之下 盡可能大的分出全部相等的小正方形的邊長 輸入輸出都用二進制表示 輸入最大是2^1000分析
兩個長度下都可以分出來就是gcdcode
import java.math.BigInteger; import java.util.Scanner;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);}} }new BigInteger(aa,2); 可以以第二參數為base進制讀入數字字符串aa
a.gcd(b).toString(2)可以將ab的gcd求出來 并轉為2進制字符串
java大數可以也可以用nextBigInteger(radix) radix 是進制基數
總結
以上是生活随笔為你收集整理的HDU-5050 java大数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: parasoft Jtest 使用教程:
- 下一篇: 四个好看的table表格样式