首页
学习
活动
专区
圈层
工具
发布

每天一道剑指offer-求1+2+3+...+n

考试结束,班级平均分只拿到了年级第二,班主任于是问道:大家都知道世界第一高峰珠穆朗玛峰,有人知道世界第二高峰是什么吗?正当班主任要继续发话,只听到角落默默响起来一个声音:”乔戈里峰

题目

每天一道剑指offer-求1+2+3+...+n https://www.nowcoder.com/practice/7a0da8fc483247ff8800059e12d7caf1?tpId=13&tqId=11200&tPage=3&rp=3&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking 题目详述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

题目详解

思路

使用逻辑判断语,具体看代码 把(n-1)>=0放在最开始的判断上,利用&&操作符的性质,只有在(n-1)>=0的条件下才会执行后面的语句,temp = temp+n是每次进行累加的过程,temp是一个全局变量,可以保留累加和,最后的complex(n-1)>0用来进入到更深层次的递归层里面

代码

代码语言:javascript
复制
public class Solution {
    public int temp = 0;
    public int Sum_Solution(int n) {
        complex(n);
        return temp;
    }
    public int complex(int n)
    {
        boolean flag =  (n-1) >= 0 && (temp = temp + n) > 0 && complex(n-1)>0;

        return temp;
    }
}
下一篇
举报
领券