码迷,mamicode.com
首页 > 其他好文 > 详细

1065 A+B and C (64bit) (20)(大数相加、正溢出、负溢出)

时间:2019-10-17 01:39:37      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:code   div   nbsp   iostream   64bit   else   表示   class   ace   

正溢出:两个正数相加超过了该数据类型能表示的最大范围,结果为负数

负溢出:两个负数相加超过了该数据类型能表示的最小范围,结果为正数包括零

#include <algorithm>
#include <iostream>
#include <cstdio>
#include <queue>
#include <cstring>
#include <vector>
using namespace std;
const int maxn = 0x3f3f3f3f;
typedef long long ll;
int main() {
    int t,k=0;
    ll a,b,c,sum;
    cin >>t;
    while(t--) {
        k++;
        cin >> a >> b >> c;
        sum = a + b;
        cout << "Case #" << k <<": " ;
        if(a > 0 && b > 0 && sum < 0) cout << "true" << endl;//如果A+B超过了longlong 那么一定大于C
        else if(a < 0 && b < 0 && sum >=0) cout << "false" << endl;//如果A+B超过了longlong最小值 那么一定小于C
        else if(sum > c) cout << "true" << endl;
        else  cout << "false" << endl;
    }
    return 0;
}

 

1065 A+B and C (64bit) (20)(大数相加、正溢出、负溢出)

标签:code   div   nbsp   iostream   64bit   else   表示   class   ace   

原文地址:https://www.cnblogs.com/LLLAIH/p/11689505.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!