求1+2+…+n
不能使用循环,也不能使用公式,那就使用递归吧
class Solution {
int sum = 0;;
public int sumNums(int n) {
if(n < 1) return 0;
if(n > 0) sum += n + sumNums(n-1);
return sum;
}
}
不用加减乘除做加法
把十进制的数字转化为二进制,然后对其进行位运算,再将结果转换为十进制
public class Solution {
public int Add(int num1,int num2) {
while (num2!=0) {
int temp = num1^num2;
num2 = (num1&num2)<<1;
num1 = temp;
}
return num1;
}
}