《Cracking the Coding Interview程序员面试金典》----另类加法(不得使用+-x/运算符号)
2017-05-03 21:05
375 查看
时间限制:3秒 空间限制:32768K 热度指数:756
算法知识视频讲解
请编写一个函数,将两个数字相加。不得使用+或其他算数运算符。
给定两个int A和B。请返回A+B的值
测试样例:
返回:3
思路:A^B相加但不进位,(A&B)<<1进位但不相加
代码如下:
class UnusualAdd {
public:
int addAB(int A, int B) {
// write code here
if(B==0) return A;
int sum,carry;
sum=A^B;
carry=(A&B)<<1;
return addAB(sum,carry);
}
};
不懂的可以加我的QQ群:261035036(IT程序员面试宝典
群) 欢迎你的到来哦,看了博文给点脚印呗,谢谢啦~~
算法知识视频讲解
题目描述
请编写一个函数,将两个数字相加。不得使用+或其他算数运算符。给定两个int A和B。请返回A+B的值
测试样例:
1,2
返回:3
思路:A^B相加但不进位,(A&B)<<1进位但不相加
代码如下:
class UnusualAdd {
public:
int addAB(int A, int B) {
// write code here
if(B==0) return A;
int sum,carry;
sum=A^B;
carry=(A&B)<<1;
return addAB(sum,carry);
}
};
不懂的可以加我的QQ群:261035036(IT程序员面试宝典
群) 欢迎你的到来哦,看了博文给点脚印呗,谢谢啦~~
相关文章推荐
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- 编一个程序,完成64位数据(无符号)的加法、减法运算。不允许直接使用64位的数据类型。(未完成)
- 剑指offer—写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- C++正整数的加法运算(不使用+-*/运算符号)
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号
- 《剑指offer》-求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号
- 《剑指offer》写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- 不使用运算符号实现加法
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- LeetCode 两个整数的加法运算,不使用+符号
- 在C/C++代码中使用SSE等指令集的指令(5)SSE进行加法运算简单的性能测试
- 【 c语言中无符号和有符号的加法运算】【深入理解】--【sky原创】
- 面试题:不使用+-*/进行加法运算
- 多项式加法运算 使用链表实现
- 【 c语言中无符号和有符号的加法运算】【深入理解】--【sky原创】
- 如果系统要使用超大整数(超过long长度范围),请你设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算)