码迷,mamicode.com
首页 >  
搜索关键字:不用加减乘除做加法    ( 75个结果
剑指Offer解题报告(Java版)——不用加减乘除做加法 47
引言 一般这种不能用四则运算的题都只有用位运算来做,目的是加强大家对计算机计算的理解,真是有点扯淡呢 解决问题 首先我们得思考计算机是怎样做加法的呢,比如3加4,如果转换成二进制是0011和0100,加起来是7,也就是0111,相当于是两个二进制的异或运算 但是我们再举一个例子就是4加4,会发现,两...
分类:编程语言   时间:2015-05-03 20:32:22    阅读次数:154
不用加减乘除做加法 47
先将两个数按二进制规则不考虑进位,直接相加,相当于按位异或 然后计算进位,相当于按位与 然后当不存在进位的时候计算完成 如果存在进位那么将进位和没有算进位的sum再继续计算 package add47; public class Add47 { static int add(int n1,int n...
分类:其他好文   时间:2015-03-30 17:53:21    阅读次数:106
[Jobdu] 题目1507:不用加减乘除做加法
题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。输入:输入可能包含多个测试样例。对于每个测试案例,输入为两个整数m和n(1 2 3 int add(int a, int b) { 4 int n1, n2; 5 do { 6 ...
分类:其他好文   时间:2015-01-21 14:54:16    阅读次数:211
剑指offer系列源码-不用加减乘除做加法
题目1507:不用加减乘除做加法 时间限制:1 秒内存限制:128 兆特殊判题:否提交:782解决:581 题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 输入: 输入可能包含多个测试样例。 对于每个测试案例,输入为两个整数m和n(1<=m,n<=1000000)。 输出: 对应每个测试案例,输出m+n的值。 样例输入: 3 4 7 9 样例输出: 7 ...
分类:其他好文   时间:2014-12-12 16:46:52    阅读次数:175
编程算法 - 不用加减乘除做加法 代码(C)
不用加减乘除做加法 代码(C)本文地址:http://blog.csdn.net/caroline_wendy题目: 写一个函数, 求两个整数之和, 要求在函数体内不得使用+, -, *, /四则运算符号.不能使用运算符号, 使用位运算, 第一步异或运算选位, 第二步与运算进位.代码:/* * ma...
分类:其他好文   时间:2014-09-22 14:55:22    阅读次数:224
不用加减乘除做加法
这个题目在剑指offer上有,在此做个记录。int add(int num1, int num2){ int sum,carry; do{ sum=num1^num2; carry=(num1&num2)<<1; num1=sum; ...
分类:其他好文   时间:2014-09-16 14:06:50    阅读次数:123
【剑指offer】不用加减乘除做加法
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27966641题目描写叙述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。输入:输入可能包括多个測试例子。对于每一个測试案例,输入为两个整数m和n(1int A...
分类:其他好文   时间:2014-08-23 09:58:50    阅读次数:153
不用加减乘除做加法
题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 输入: 输入可能包含多个测试样例。 对于每个测试案例,输入为两个整数m和n(1 输出: 对应每个测试案例,输出m+n的值。 样例输入: 3 4 7 9 样例输出: 7 16 代码: 思路: 1.先将两个数字异或得到...
分类:其他好文   时间:2014-08-17 14:22:22    阅读次数:164
不用加减乘除做加法
问题描写叙述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。算法描写叙述从二进制运算入手,1.a^b求出各bit的和,2.a&b求出须要进位的bits,3<<1(左移位)再与a^b求和,4.反复1、2、3直至a&b==0(即进位为0),得到结果。代码int addThr...
分类:其他好文   时间:2014-08-09 15:33:38    阅读次数:188
不用加减乘除做加法
很容易想到为二进制的与或非。 加法分为三步: 1 各位相加不进位 0 + 0 =0, 0+1 = 1,1+0=1,1+1=1,很明显是异或运算 2 进位 1+1 =10进位,其余均不进位 ,进行左移动一位 3 一直循环 代码: #include using namespace std; int sum(int data1,int data2){ int sum,carry; ...
分类:其他好文   时间:2014-08-07 19:02:00    阅读次数:196
75条   上一页 1 ... 5 6 7 8 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!