PAT-basic-1011 A+B 和 C java

一、题目


给定区间 [] 内的 3 个整数  和 ,请判断  是否大于 

输入格式:

输入第 1 行给出正整数  (),是测试用例的个数。随后给出  组测试用例,每组占一行,顺序给出  和 。整数间以空格分隔。

输出格式:

对每组测试用例,在一行中输出 Case #X: true 如果 ,否则输出 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

二、解析


long的范围是[-231, 231-1],所以做加减法是可能超出long的范围的。因此用java里自带的大数函数。

三、代码


import java.math.BigInteger;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = Integer.parseInt(input.nextLine());
        for(int i=0; i<n; i++){
            String str[] = input.nextLine().split("\\s+");
            BigInteger a = new BigInteger(str[0]);
            BigInteger b = new BigInteger(str[1]);
            BigInteger c = new BigInteger(str[2]);
            if(a.add(b).compareTo(c) > 0)
                System.out.printf("Case #%d: true\n", (i+1));
            else
                System.out.printf("Case #%d: false\n", (i+1));
        }
    }
}

 

posted @ 2023-02-18 13:10  正明小佐  阅读(16)  评论(0编辑  收藏  举报