PAT 65.A+B and C(64 bit)(20)
4289 ワード
テーマリンク:http://pat.zju.edu.cn/contests/pat-a-practise/1065
考え方の分析:
1)a+bによるlong longタイプのデータオーバーフローを特殊処理する:
a>0&&b>0&a+b<=0:a+bはcより大きい必要があります。
a<0&&b<0&a+b>=0:a+bは必ずcより小さい
考え方の分析:
1)a+bによるlong longタイプのデータオーバーフローを特殊処理する:
a>0&&b>0&a+b<=0:a+bはcより大きい必要があります。
a<0&&b<0&a+b>=0:a+bは必ずcより小さい
1 #include <stdio.h>
2 #include <stdlib.h>
3
4
5 int main(int argc,char *argv[]){
6 long long a,b,res;
7
8 int n;
9 scanf("%d",&n);
10 bool flag;
11 for(int i=1;i<=n;i++){
12 scanf("%lld %lld %lld",&a,&b,&res);
13 long long tmp=a+b;
14
15 if(a>0 && b>0 && tmp<=0)flag=true;
16 else if(a<0 && b<0 && tmp>=0) flag=false;
17 else flag=a+b>tmp;
18
19 printf("Case #%d:",i);
20 if(flag) puts("true");
21 else puts("false");
22 }
23
24 system("pause");
25 return 0;
26 }