• C++ 牛客网普及组第二次测试A


    ---恢复内容开始---

    链接:https://www.nowcoder.com/acm/contest/165/A
    来源:牛客网

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 32768K,其他语言65536K
    64bit IO Format: %lld

    题目描述

    牛牛刚学习了输入输出,他遇到了一道这样的题目。
    输入2个整数a和b
    保证输入的a和b在long long范围之内,即满足
    -9223372036854775808 <= a, b <= 9223372036854775807
    计算a+b的值,即这两个数字的和。
    如果a+b在long long范围之内,即满足
    -9223372036854775808 <= a + b <= 9223372036854775807
    那么输出一行一个整数表示a+b的结果。
    如果a+b不在long long范围之内,即越界了,那么输出"hello, %lld ",包含引号。
    具体可以参见样例。


    输入描述:

    输入只有一行,包含用空格分开的两个整数,表示a和b。

    输出描述:

    如果a+b在long long范围之内,输出一行一个整数,表示a+b的结果;否则输出"hello, %lld
    ",包含引号。
    示例1

    输入

    复制
    -9223372036854775808 9223372036854775807

    输出

    复制
    -1
    示例2

    输入

    复制
    9223372036854775807 1

    输出

    复制
    "hello, %lld
    "

    备注:

    正确计算a+b可以得到50分

    正确输出"hello, %lld "也可以得到50分



    这道题看似是一道高精度计算,但是我们并不需要利用高精度(主要是自己考试的时候写不出来。。。。。)
    所以我们要作的巧妙一些。
    首先根据题目要求定义一个long long 的类型,随后,我们就可以直接进行判断了。
    因为计算机在你的数越界了以后,就会输出一个负整数,所以我们只需要判断A+B是不是最后相加成了一个负整数,所以我们的问题也就迎刃而解了。
    同样的,对于两个负数相加的时候,只需要判断计算的结果是不是一个正数。

    就是这样对于判断的过程就解决了。

    但是。。
    在我们要输出"hello, %lld "的时候,我们的问题又来了,因为“” 是不容易输出的。
    而且也会代表着换行,会出现编译错误。

    解决方法也不难,我们只需要运用一下char()就可以了。
    char(34)=" char(92)=

    示范如下:
    #include<bits/stdc++.h>//万能头文件
    using namespace std;
    int main()
    {
        int n;
        cin>>n;
        cout<<char(n); 
     } 

     

    本题代码:

    #include<bits/stdc++.h>
    using namespace std;
     long long a,b,n,m,sum=9223372036854775807,ans=-9223372036854775808;
    int main()
    {
        cin>>a>>b;
        if((a>0&&b>0&&a+b<0)||(a<0&&b<0&&a+b>=0))
        {
            cout<<char(34)<<"hello, %lld"<<char(92)<<"n"<<char(34);
            exit(0);
        }
         else cout<<a+b;
         
    }
  • 相关阅读:
    2019/5/13 洛谷P4742 【tarjan缩点 + 拓扑dp】
    图论500题
    欧拉回路与欧拉路径
    二分图的判定
    二分图的最大匹配以及带权匹配【匈牙利算法+KM算法】
    网络流三大算法【邻接矩阵+邻接表】POJ1273
    马拉车算法,mannacher查找最长回文子串
    tarjan算法(强连通分量 + 强连通分量缩点 + 桥(割边) + 割点 + LCA)
    luogu P5774 [JSOI2016]病毒感染 线性 dp
    luguo P2519 [HAOI2011]problem a dp+贪心
  • 原文地址:https://www.cnblogs.com/FXY-180/p/9651147.html
Copyright © 2020-2023  润新知