本博文源于笔者正在思考的如何用递归进行计算两数之和。读者一般都会想到用while循环进行操作,位运算两数之和的思想就犹如辗转相除法。文章并附加了对这个方法的流程演示
想要用递归实现两数之和。
#include<stdio.h>
int add(int num1, int num2) {
if (num2 == 0)
return num1;
else {
return add(num2^num1, (num2&num1)<<1);
}
}
int main() {
printf("%d", add(3, 5));
getchar();
}
代码进行,add(3,5)传入进去