专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 编程

剑指offer系列源码-不要加减乘除做加法

发布时间:2011-06-30 11:46:42 文章来源:www.iduyao.cn 采编人员:星星草
剑指offer系列源码-不用加减乘除做加法
题目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("%dn",add(n,m));
    }
    return 0;
}


友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: