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
题目解析:
这道题目的坑就是题目所给的区间[−231,231],int取值范围[−231,231-1]
显然题目所给的区间比int范围大一个,那么就会有测试用例涉及到超出范围的那一个数,也就是231,所以此题应该用long类型,注意到这个这道题也就不难了。
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int N=s.nextInt();
//我采取的策略就是一边输入一边判断
for(int i=0;i<N;i++){
Long A=s.nextLong();
Long B=s.nextLong();
Long C=s.nextLong();
if(A+B>C){
System.out.println("Case #"+(i+1)+": true");
}else{
System.out.println("Case #"+(i+1)+": false");
}
}
}
}
如果用int的话,测试点1,2通不过。
关注公众号”算法宝贝“获取更多题目解析