题目描述
输入两个整数a,b,输出它们的和(|a|,|b|<=10^9)。 注意 1、pascal使用integer会爆掉哦!
2、有负数哦!
3、c/c++的main函数必须是int类型,而且最后要return 0。这不仅对洛谷其他题目有效,而且也是noip/noi比赛的要求!
好吧,同志们,我们就从这一题开始,向着大牛的路进发。
“任何一个伟大的思想,都有一个微不足道的开始。”
输入输出格式
输入格式:
两个整数以空格分开
输出格式:
一个数
输入输出样例
输入样例#1:
20 30
输出样例#1:
50
标程
闲得无聊,写了一个不用加号的加法,实测比普通加法慢两倍。主要思想就是利用a ^ b加计算,(a & b) << 1进行一次进位。这样就可以递归处理。但是为了时间我还是用了while。
#include<cstdio>
using namespace std;
int plus(int a, int b) {
int carry = b;
while(carry) {
carry = (a & b) << 1;
a = a ^ b;
b = carry;
}
return a;
}
int main() {
int a, b;
scanf("%d%d", &a, &b);
printf("%d", plus(a, b));
}
rockdu
没有帐号? 立即注册