码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-12-12 16:46:52      阅读:175      评论:0      收藏:0      [点我收藏+]

标签: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;
}


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

标签:blog   io   ar   os   使用   sp   2014   log   ad   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!