• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
村雨sup
自己选的路,跪着也要走完 XD
博客园    首页    新随笔    联系   管理    订阅  订阅
大数加

赵子龙的 abcd

description 
今天,赵子龙在愉快地刷题时,碰到了这样一道题: 
给出非负正数a,b,c,d,求a+b+c+d; 
赵子龙:????这么简单???? 
现在,就请你帮组赵子龙刷掉这道简单题吧。 
input 
第一行,测试数组组数T(T<100) 
对于每一组数据,都有四个非负正数a,b,c,d(0<=a,b,c,d<=2^62) 
output 
a+b+c+d的值 
simple input 
2 
0 0 0 0 
1 1 1 1 
simple output 
0 
4

当a,b,c,d都为 2^62次方时,ans才为2^64,这时可a=b=c=d=2^62,输出2^64对应的字符串;对于其他情况,unsigned long long 就可操作; 
当然,用大整数是肯定可以的。

 

#include "bits/stdc++.h"
using namespace std;

int main()
{
    int t;
    cin >> t;
    while(t--)
    {
        unsigned long long a,b,c,d;
        cin >> a >>b >> c >> d;
        unsigned long long x=4611686018427387904;
        if(a==x&&b==x&&c==x&&d==x)
        {
            cout<<"18446744073709551616"<<endl;
        } else
            cout << a+b+c+d <<endl;
    }
    return 0;
}

 

posted on 2018-01-10 21:32  村雨sup  阅读(178)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3