1. 程式人生 > >Java大數相加-hdu1047

Java大數相加-hdu1047

題目連結: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 }