[PAT乙级] Practise 1011 A+B 和 C

Posted eisuto

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PAT乙级] Practise 1011 A+B 和 C相关的知识,希望对你有一定的参考价值。

PAT (Basic Level) Practice (中文)1011

1011 A+B 和 C

设计函数求一元多项式的导数。(注:x^nn为整数)的一阶导数为nx^(n?1)。)

给定区间 [?231,231] 内的 3 个整数 ABC,请判断 A+B 是否大于 C

输入格式:

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

输出格式:

对每组测试用例,在一行中输出 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

思路:

由题意判断即可,注意在C++中int的取值范围为

-2147483648 ~ +2147483647 (4 Bytes) 所以使用long计算。

代码:

#include <iostream>
#include <map>
using namespace std;
int main() {
    int n;
    cin >> n;
    map<int, long> hash;
    long a, b, c;
    for (int i = 0; i < n; i++) {
        cin >> a >> b >> c;
        hash[i] = (a + b > c);
    }
    for (int i = 0; i < n; i++) {
        cout << "Case #" << i + 1 << ": ";
        hash[i] ? cout << "true" : cout << "false";
        if (i != n - 1) cout << endl;
    }
    return 0;
}

以上是关于[PAT乙级] Practise 1011 A+B 和 C的主要内容,如果未能解决你的问题,请参考以下文章

PAT乙级1011 A+B 和 C (15 分)

PAT乙级 1011. A+B和C (15)

PAT-乙级-1011 A+B 和 C

[PAT乙级] Practise 1003 我要通过!

[PAT乙级]1011 A+B 和 C

[PAT乙级] Practise 1008 数组元素循环右移问题