PAT Basic 1011

来源:互联网 发布:tensorflow代码解析 编辑:程序博客网 时间:2024/05/21 07:13

PAT Basic 1011. A+B和C (15)

时间限制
150 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
HOU, Qiming

给定区间[-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

思路:
最开始思路1:用long long 保存a+b的结果和c比较, 结果不对.(a=b=2147483647)
思路2: (a+b)>c =>1.c==0 a>-b
2.c>0 (a/c+b/c)>1 (a/c, b/c用double保存)
3.c<0 (a/c+b/c)<1 (a/c, b/c用double保存)
结果扔不能全通过
解答:
直接 a,b,c用double保存, 比较(a+b)-c>0.0000001

#include <iostream>using namespace std;int main(){    int t, kase=0;    cin>>t;    double a, b, c;    while(t--){        kase++;        cin>>a>>b>>c;        cout<<"Case #"<<kase<<": ";        if(a+b-c>0.000001){            cout<<"true"<<endl;        }else{            cout<<"false"<<endl;        }           }    return 0;}
原创粉丝点击