• 剑指offer四十七之求1+2+3+...+n


    一、题目

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

    二、思路

      1.需利用逻辑与的短路特性实现递归终止。

      2.当n==0时,(n>0)&&((sum+=Sum_Solution(n-1))>0)只执行前面的判断,为false,然后直接返回0;

      3.当n>0时,执行sum+=Sum_Solution(n-1),实现递归计算Sum_Solution(n)。

    三、代码

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

    --------------------------------------------

    参考链接:

    https://www.nowcoder.com/questionTerminal/7a0da8fc483247ff8800059e12d7caf1

  • 相关阅读:
    python中list的一种取值方式切片
    python之字典(Dictionary)
    表示数字
    自动收售货系统
    明明的随机数
    自守数
    等差数列
    计算字符个数
    字符统计
    Redraimen的走法
  • 原文地址:https://www.cnblogs.com/hezhiyao/p/7662068.html
Copyright © 2020-2023  润新知