欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

剑指offer 求1+2+3+...+n Java

程序员文章站 2022-07-10 14:35:21
...

题目

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


题解

 不能用循环的话使用递归代替,但是递归需要判断出口,题目说明不能使用if,此时使用&&来判断出口。A&&B时,若A为假,则B不执行,所以按照这个思想来进行判断出口。

public class Solution {
    public int Sum_Solution(int n) {
        boolean x = (n > 1) && ((n += Sum_Solution(n-1))>0);
        return n;
    }
}