zoukankan      html  css  js  c++  java
  • 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;
         
    }
  • 相关阅读:
    【转】一步一步带你反编译apk,并教你修改smali和重新打包
    【转】安卓apk反编译、修改、重新打包、签名全过程
    【转】iOS安全之RSA加密/生成公钥、秘钥 pem文件
    Tomcat修改用户名密码教程
    docker安装使用教程(Kali2.0)
    WebSphere静默安装教程(WAS6.1为例)
    大学计算机书藉推荐(信息安全方向)
    计算机行业各种职业技能树
    APK骨架分析
    dvwa安装、配置、使用教程(Linux)
  • 原文地址:https://www.cnblogs.com/FXY-180/p/9651147.html
Copyright © 2011-2022 走看看