47-不用加减乘除做加法

来源:互联网 发布:富士康java开发笔试题 编辑:程序博客网 时间:2024/05/21 20:24

递归:

int Add(int num1, int num2){/*if (num2 ==0){return num1;}else{int sum = num1^num2;int temp = (num1&num2) << 1;return Add(sum, temp);}*///return num2  ?  Add(num1^num2, (num1&num2) << 1):num1;}
非递归:

while (num2 != 0) {int temp = num1^num2;num2 = (num1&num2) << 1;num1 = temp;}return num1;


原创粉丝点击