力扣 面试题64. 求1+2+…+n (难度中等)

力扣 面试题64. 求1+2+…+n (难度中等)


题目:求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

看到题目的时候我首先想到的使用高斯定理,也就是(n + 1) * n / 2,但题目要求不能使用乘除。于是我放弃了这个方法。想了一下之后,我采用递归的方法来实现计算。

以下代码使用java语言

class Solution {
    public int sumNums(int n) {
        if(n==1){
    	    return 1;
    	}else{
    	    return n+sumNums(n-1);
        }
    }
}

你可能感兴趣的:(leetcode)