首页 > 其他 > 详细

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

时间:2014-12-12 16:44:45      阅读:309      评论:0      收藏:0      [点我收藏+]
题目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;
}


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

原文:http://blog.csdn.net/hackcoder/article/details/41894321

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!