1011. A+B和C (15)
給定區間[-231, 231]內的3個整數A、B和C,請判斷A+B是否大於C。
輸入格式:
輸入第1行給出正整數T(<=10),是測試用例的個數。隨後給出T組測試用例,每組佔一行,順序給出A、B和C。整數間以空格分隔。
輸出格式:
對每組測試用例,在一行中輸出“Case #X: true”如果A+B>C,否則輸出“Case #X: false”,其中X是測試用例的編號(從1開始)。
輸入樣例:4 1 2 3 2 3 4 2147483647 0 2147483646 0 -2147483648 -2147483647輸出樣例:
Case #1: false Case #2: true Case #3: true Case #4: false
思路分析:利用數組存儲輸入的測試用例,給定的數字區間超過int型的長度,所以參考別人的辦法,用了BigInteger
代碼在編譯器測試完全沒有問題,但是提交到判題系統就一直顯示答案錯誤。
import java.math.*;
import java.util.*;
public class Main {
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int[]s=new int[n];
String[]flag=new String[n];
for(int i=0;i<n;i++)
{
BigInteger a=in.nextBigInteger();
BigInteger b=in.nextBigInteger();
BigInteger c=in.nextBigInteger();
BigInteger sum = a.add(b);
if (sum.compareTo(c) > 0)
flag[i] = "true";
else
flag[i] = "false";
}
for(int i=0;i<n;i++)
System.out.println("case #"+(i+1)+":"+flag[i]);
}
}