标签:blog io ar os 使用 sp 2014 log ad
题目1507:不用加减乘除做加法 时间限制:1 秒内存限制:128 兆特殊判题:否提交:782解决:581 题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 输入: 输入可能包含多个测试样例。 对于每个测试案例,输入为两个整数m和n(1<=m,n<=1000000)。 输出: 对应每个测试案例,输出m+n的值。 样例输入: 3 4 7 9 样例输出: 7 16
解法:模拟二进制加
#include <iostream>
#include<stdio.h>
using namespace std;
int add(int num1,int num2){
int sum,carry;
do{
sum = num1^num2;
carry = (num1&num2)<<1;
num1 =sum;
num2=carry;
}while(num2);
return num1;
}
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF){
printf("%d\n",add(n,m));
}
return 0;
}
标签:blog io ar os 使用 sp 2014 log ad
原文地址:http://blog.csdn.net/hackcoder/article/details/41894321