不用加减乘除完成两数相加
来源:互联网 发布:诸葛亮网络用语含义 编辑:程序博客网 时间:2024/04/30 14:54
看了剑指offer一书的一个题目,然后自己写了的代码,有迭代和递归两种方式,代码如下:
#include <stdio.h>int add(int a, int b) //迭代 { int c; c = (a&b)<<1; //保存进位 a ^= b; //相加,不考虑进位,类似与半加器原理 while(c) //两数相加直到没有进位 { b = c; c = (a&b)<<1; a ^= b; } return a;}int recursion_add(int a, int b){ int c; if (b == 0) return a; c = (a&b)<<1; a ^= b; return recursion_add(a, c);}int main(){ int a, b; while(scanf("%d%d", &a, &b) != EOF) { printf("%d\n", add(a, b)); printf("%d\n", recursion_add(a, b)); }return 0;}
- 不用加减乘除完成两数相加
- 不用加减法对两数进行相加
- 不用加减乘除运算符计算两数之和
- 不用加减乘除运算符计算两数之和及a=b*3
- 不用加减乘除运算符计算两数之和及a=b*3
- 371. Sum of Two Integers, 不用加减乘除运算符计算两数之和
- 不用+-实现两个数相加
- 两数相加问题
- 算法:两数相加
- 两数相加
- 汇编两数相加
- 不用加减乘除运算符求解两个数加减乘除
- 【算法】A+B problem 用位运算完成两数相加
- 两个常见位操作面试题 不用加减乘除运算符计算两数之和及a=b*3
- 两个常见位操作面试题 不用加减乘除运算符计算两数之和及a=b*3
- 两个常见位操作面试题 不用加减乘除运算符计算两数之和及a=b*3
- 两个常见位操作面试题:不用加减乘除运算符计算两数之和及a=b*3
- 两个常见位操作面试题 不用加减乘除运算符计算两数之和及a=b*3
- 标签的移动与线程控制
- 动态汉诺塔(c语言)
- 内部类
- ucos-ii移植笔记(ARM7平台)
- CET,GMT等各种时间总结
- 不用加减乘除完成两数相加
- 第一个代码
- VS HelpLibAgent.exe已停止工作 解决方法
- 关于opencv内存泄露的一些记录
- installing-gmt-under-cygwin
- Oracle出现“TNS: 监听程序无法分发客户机连接”解决方法
- 使用pl/sql来Oracle创建表空间和创建用户 .
- linux网络配置文件及其对应功能
- 一个由24个字母组成的数组,其中每个字符出现3次(也就是8组相同字母,混序放在一个数组中),用程序实现将相同字母的下标存入一个8*3的数组中