zoukankan      html  css  js  c++  java
  • PAT A 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
    

    须要考A+B虑溢出的问题。可能是上界。也可能是下界。

    能够考虑string模拟大数的方法,代码用了一种适用于两个元素的投机方法。

    代码:

    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int n;
    	cin>>n;
    
    	long long a,b,c;
    	int i,j;
    	for(i=0;i<n;i++)	//一种投机取巧的办法。仅适用于两个元素
    	{
    		cin>>a>>b>>c;
    		cout<<"Case #"<<i+1<<": ";
    		if(a>0&&b>0&&a+b<a&&a+b<b)	//上越界,必定大于c
    			cout<<"true
    ";
    		else if(a<0&&b<0&&a+b>a&&a+b>b)	//下越界,必定小于c
    			cout<<"false
    ";
    		else if(a+b>c)	//常规比較
    			cout<<"true
    ";
    		else
    			cout<<"false
    ";
    	}
    
    	return 0;
    }
    


     

  • 相关阅读:
    java基础-代理模式
    java基础-反射(细节)
    java基础-反射
    设计模式之单例
    23种设计模式汇总整理
    dialog--not attached to window manager
    java之设计模式
    android-sdk和api版本
    studio之mac快捷键
    控件之ReleLayout属性
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5158128.html
Copyright © 2011-2022 走看看