模拟B1011 A+B 和 C (15分)

2020-02-20  本文已影响0人  李拓3357

给定区间[−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 开始)。

解题思路

注意本题中数据的范围是[−2​^{31​​} ,2^{31​​}], 而int的范围是[−2​^31​​ ,2^31 - 1],所以如果直接用int进行计算会造成溢出。所以使用long long进行存储,它的范围是[−2​^{63​​} ,2^{63​​} - 1]

#include<iostream>
using namespace std;

typedef long long LL;

int main(){
    int n;
    cin >> n;
    for(int i = 1; i <= n; i ++ ){
        LL a, b, c;
        cin >> a >> b >> c;
        if(a + b > c)   
            printf("Case #%d: true\n", i);
        else
            printf("Case #%d: false\n", i);
    }
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读