Java大數相加-hdu1047
阿新 • • 發佈:2018-12-12
題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=1047
題目描述:
題意有點繞,但是仔細的讀了後就發現是處理大數相加的問題。注意:輸入資料有多組,每組輸入要用一個t來控制輸入的模組,每個模組的輸入以0來結束。換句話說,有多少模組,輸出就有多少個VeryLongInteger。
程式碼實現:
1 import java.math.BigInteger; 2 import java.util.Scanner; 3 4 public class Hdu1047 { 5 public static void main(String[] args) {6 Scanner scanner = new Scanner(System.in); 7 while (scanner.hasNext()) { 8 int t = scanner.nextInt();//用t來控制輸入多少模組 9 while(t>0) { 10 t--; 11 BigInteger sum= BigInteger.ZERO; 12 while (true) { 13 BigInteger num = scanner.nextBigInteger();14 if (num .compareTo(BigInteger.ZERO)==0)//此處要用compareTo()來判斷大數num是否等於0,不可直接用”==“進行比較。 15 break; 16 sum = sum.add(num);//大數相加要運用add(),不能直接用“+”來對大數進行相加 17 } 18 System.out.println(sum); 19 if(t>0)//每個案列後有一個空行 20 System.out.println(); 21 } 22 } 23 scanner.close(); 24 } 25 }