不使用四则运算实现加法运算
来源:互联网 发布:java用什么软件编写 编辑:程序博客网 时间:2024/06/06 01:14
牛客在线编程题:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
非递归求解:
class Solution {
public:
int Add(int num1, int num2)
{
while (num2!= 0)
{
int temp = num1^num2;
num2 = (num1&num2) << 1;
num1 = temp;
}
return num1;
}
};
递归求解:
class Solution {
public:
int Add(int num1, int num2)
{
if(num2 == 0)
return num1;
int temp = num1 ^ num2;
num2 = (num1 & num2) << 1;
num1 = temp;
return Add(num1, num2);
}
};
其实基本思想是一样的,1)不考虑进位,单纯的累加,2)单拎出进位的数值,3)重复上述步骤,直到不发生进位时,单纯累加的结果就是最终的和
阅读全文
0 0
- 不使用四则运算实现加法运算
- 剑指offer:不使用四则运算实现加法
- 实现加法:不使用加减乘除运算
- 不使用运算符号实现加法
- 程序中不使用“+”法运算,实现整数加法运算
- 不使用算术运算符实现加法运算
- 不用 +,-,*,/四则运算实现加法
- 不用四则运算完成加法运算
- 【刷题之路】不使用四则运算做加法
- 不使用加减乘除+-*/,实现加法运算(使用位运算符)
- 不使用加号的加法运算
- 面试题:不使用+-*/进行加法运算
- 不使用加减乘除运算做加法
- 不使用"+"," -"操作符完成加法运算
- 使用位运算实现加减乘除四则运算
- 使用“位运算”实现“四则运算”之加减乘除
- 不使用加减乘除实现加法
- 不使用加减乘除实现加法
- iOS 开发中下载webp 格式的图片
- 关于LSTM的一篇好文分享
- StringUtil(字符串工具类)
- c# 获取某日期所在周的第一天和最后一天
- R语言主成分分析总结
- 不使用四则运算实现加法运算
- springMvc生成导出excel文件
- js闭包
- oracle行转列
- Linker feedback
- Intent和IntentFilter的简单介绍
- spring中解决CROS跨域请求的方案
- ssm 中文件的上传下载
- 2017西安交大ACM小学期 选择困难症[折半枚举+二分查找]