题目
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
思路
1、不能用循环和乘除,所以想到用递归
2、不能用if又要使递归停止,所以可以用&&的短路原则,前一个条件满足后一个才执行(||的话时前一个满足后,后一个不执行)
实现
/**
1、不能用循环和乘除,所以想到用递归
2、不能用if又要使递归停止,所以可以用&&的短路原则,前一个条件满足后一个才执行
**/
public class Solution {
public int Sum_Solution(int n) {
int sum=n;
boolean flag=sum>0&&(sum+=Sum_Solution(n-1))>0;
return sum;
}
}