zoukankan      html  css  js  c++  java
  • ZJU-PAT 1065. A+B and C (64bit) (20)

    Given three integers A, B and C in [-263, 263], you are supposed to tell whether A+B > C.

    Input Specification:

    The first line of the input gives the positive number of test cases, T (<=10). Then T test cases follow, each consists of a single line containing three integers A, B and C, separated by single spaces.

    Output Specification:

    For each test case, output in one line "Case #X: true" if A+B>C, or "Case #X: false" otherwise, where X is the case number (starting from 1).

    Sample Input:
    3
    1 2 3
    2 3 4
    9223372036854775807 -9223372036854775808 0
    
    Sample Output:
    Case #1: false
    Case #2: true
    Case #3: false

    分析:

    1.考虑相加溢出的情况

    (1)  a > 0 && b>0 && a+b <0  , 因 a+b > c,故true

    (2)  a < 0 && b<0 && a+b >0 , 因 a+b < c,故false

    2. PAT上不支持 __int64数据,採用long long型数据

    #pragma warning (disable:4786)
    #include<iostream>
    #include<string>
    #include<cstdio>
    #include<algorithm>
    #include<map>
    using namespace std;
    
    int main()
    {
        int T;
        cin>>T;
        for(int i=1;i<=T;i++)
        {
            long long int  a,b,c;
            cin>>a>>b>>c;
    
            cout<<"Case #"<<i+1<<": ";
            
            bool flag;
            long long ans =a+b;
            if(a>0 && b>0 && ans<=0)
                flag=true;
            else if(a<0 && b <0 && ans >= 0)
                flag=false;
            else
                flag = (ans > c);
            if(flag)
                cout<<"true"<<endl;
            else
                cout<<"false"<<endl;
        }
        return 0;
    }
    



  • 相关阅读:
    JavaScript 之 变量
    SqlServer 之 系统视图
    SQL Server 2008中的Hints(提示)的简单整理
    SqlServer日常积累(三)
    Asp.net 之页面处理积累(一)
    Android 之Toast
    Android 之开发积累
    go与json
    binder
    DBUS
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/3826943.html
Copyright © 2011-2022 走看看