您的位置:首页 > 其它

PAT乙级题库之1001

2018-02-28 14:06 246 查看
题目如下:

时间限制 1000 ms  内存限制 32768 KB  代码长度限制 100 KB  判断程序 Standard

题目描述

给定区间[-2的31次方, 2的31次方]内的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


很简单的一个题目,下面是我的解答代码

import java.util.*;

public class Main{
public static void main(String args[]){
int T;
long a,b,c;
Scanner reader = new Scanner(System.in);
T = reader.nextInt();
for(int num = 1; num <= T; num++){
a = reader.nextLong();
b = reader.nextLong();
c = reader.nextLong();
System.out.print("Case #" + String.valueOf(num) + ": ");
if(a+b>c){
System.out.print("true");
}else{
System.out.print("false");
}
if(num != T){
System.out.print('\n');
}
}
}
}
再贴上找到的两个优质代码,分别用Java和Python写的

Java版:

import java.util.*;
import java.math.*;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int T = in.nextInt();
for(int i=1; i<=T; i++){
BigInteger a = in.nextBigInteger();
BigInteger b = in.nextBigInteger();
BigInteger c = in.nextBigInteger();
BigInteger sum = a.add(b);
if(sum.compareTo(c)>0)
System.out.println("Case #"+i+": true");
else
System.out.println("Case #"+i+": false");
}
}
}Python版:
count = input()
lst = []
for i in range(count):
lst.append(raw_input().split(' '))
j = 1
for i in lst:
if float(i[0])+float(i[1]) > float(i[2]):
print "Case #"+`j`+": true"
else:
print "Case #"+`j`+": false"
j += 1
感觉自己写的太拖沓,不够简洁,以后要注意。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PAT ACM