剑指 Offer 64. 求1+2+…+n

思路
注意,该题不允许使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
因此只能考虑使用位运算
通过位运算来递归加法
代码
class Solution {
int res=0;
public int sumNums(int n) {
boolean x=(n>1)&&sumNums(n-1)==1;
res+=n;
return res;
}
}
博客探讨了一种在不允许使用传统控制语句的情况下,如何使用位运算递归实现1到n的整数求和。代码中定义了一个Solution类,通过一个名为sumNums的方法,结合位运算和递归实现加法。该方法首先判断n是否大于1,并通过位运算更新结果res,然后返回结果。
509

被折叠的 条评论
为什么被折叠?



