题目描述
输入两个整数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)); }
没有帐号? 立即注册