PAT 1065

题目 : A+B and C

分值 : 20
难度 : 整数溢出题
思路 : 考虑溢出,但是如果 a+b溢出了,你要用变量先承接 比如 t=a+b ,否则过不了点,
       还有一种投机取巧的方法,他要求[-2^63^, 2^63^] ,你搞个 [-2^127^, 2^127^]
坑点 : 有整数会溢出,例如, 2^63-1 +2^63-1 

具体代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std ;
int main() {
int N ;
cin >> N ;
for(int i = 1 ; i<= N ; i++)
{
long double a , b , c ,t;
cin >> a >> b >> c ;
t = a+b ;
cout << "Case #"<<i <<": ";
if( a+b> c)cout <<"true"<<endl ;
else cout <<"false"<<endl ;
}
}