你好a+b(非入门)
题目传送门:https://www.nowcoder.com/acm/contest/165/A
来源:牛客网
牛牛刚学习了输入输出,他遇到了一道这样的题目。
输入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\n",包含引号。
具体可以参见样例。
保证输入的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\n",包含引号。
具体可以参见样例。
输入描述:
输入只有一行,包含用空格分开的两个整数,表示a和b。
输出描述:
如果a+b在long long范围之内,输出一行一个整数,表示a+b的结果;否则输出"hello, %lld\n",包含引号。
示例1
输入
-9223372036854775808 9223372036854775807
输出
-1
示例2
输入
9223372036854775807 1
输出
"hello, %lld\n"
备注:
正确计算a+b可以得到50分
正确输出"hello, %lld\n"也可以得到50分
牛客网的一场NOIP模拟赛,看到一堆巨佬这题只拿了90分,来发下题解。
参考代码
1 #include<bits/stdc++.h> 2 using namespace std; 3 long long a,b,ans; 4 int main() 5 { 6 scanf("%lld%lld",&a,&b); 7 if(a>0&&b>0&&a+b<0) //这样就说明炸了 8 { 9 cout<<char(34); 10 cout<<"hello, %lld\\n"; 11 cout<<char(34); 12 } 13 else if(a<0&&b<0&&a+b>=0)//同上 14 { 15 cout<<char(34); 16 cout<<"hello, %lld\\n"; 17 cout<<char(34); 18 } 19 else //没炸就输出 20 { 21 printf("%lld",a+b); 22 } 23 return 0; 24 }