zoukankan      html  css  js  c++  java
  • 1065 A+B and C (64bit) (20分)(水)

    Given three integers A, B and C in [−], 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 (≤). 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

    题目分析:利用long long 存储数据 但是要注意对于num的判断 因为long long 最大存储范围是从负2的63次 到 正2的63次减一
    如果这个和大于或小于这个范围 就要先判断再输出
    对于这道题来说
    数的范围是 $[-2^63,2^63]$ 而longlong的范围是$[-2^63,2^63-1]$
    若两个数的和过大到区间$[2^63,2^64-2] 那么会溢出改变到区间 [-2^63,-2](对于非浮点数来说上界加一会变为加一后的值取负 故(2^63-1+1)会变为-2^63 -2是根据公式 (2^64-2)%2^64=-2求得$
    同理 若过小到区间$[-2^64,-2^63-1] 会溢出改变到区间[0,2^63-1]$

     1 #define _CRT_SECURE_NO_WARNINGS
     2 #include <climits>
     3 #include<iostream>
     4 #include<vector>
     5 #include<queue>
     6 #include<map>
     7 #include<set>
     8 #include<stack>
     9 #include<algorithm>
    10 #include<string>
    11 #include<cmath>
    12 using namespace std;
    13 string A, B, C;
    14 
    15 int main()
    16 {
    17     int N;
    18     cin >> N;
    19     for (int i = 1; i <= N; i++)
    20     {
    21         long long A, B, C;
    22         cin >> A >> B >> C;
    23         long long num = A + B;
    24         if (A > 0 && B > 0 && num < 0)
    25             printf("Case #%d: true
    ", i);
    26         else if (A < 0 && B < 0 && num >= 0)
    27             printf("Case #%d: false
    ", i);
    28         else if(num > C)
    29             printf("Case #%d: true
    ", i);
    30         else
    31             printf("Case #%d: false
    ", i);
    32     }
    33 }
    View Code
  • 相关阅读:
    分布式跑批的实现流程
    Java1.8新特性Stream流处理集合元素
    RocketMQ消息存储和查询原理(引用清幽之地 清幽之地的博客)
    Markdown使用持续更新
    一次百万请求mq堆积的生产排查
    Spring Boot打包部署修改jar文件名
    Spring Boot的应用启动器
    Spring Boot配置文件application.properties
    Eclipse中出现.classPath(拒绝访问)
    PHP文件上传的相关配置
  • 原文地址:https://www.cnblogs.com/57one/p/12067988.html
Copyright © 2011-2022 走看看