递归算法

package cn.tedu;
/**
* 求1+2+3+4...+n,要求不能使用乘除法、for、while、if、else、switch、case
* 等关键字及条件判断判断语句
* @author Administrator John
*
*/
public class Test {
  public static int sum(int n) {
    int sum = n;
    /*
    * 递归终止条件,借助&&的短路,对于A && B
    * A=true,执行B
    * B=false,不执行B
    * 所以如果 n=0时,则不会再进行递归调用
    */
    boolean isCountinue = (n>0) && (sum += sum(--n)) >0;
    return sum;
  }
  public static void main(String[] args) {
    int result = sum(10);
    System.out.println(result);
  }
}

转载于:https://www.cnblogs.com/ahaijava/p/10071393.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值