求1+2+3+...+n

问题描述

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

思路分析

根据题目的约束,只能使用递归操作了。当n递归到最小值1时结束,并且每次递归调用一次,值就减少1,直至n为1为止

码上有戏

1
2
3
4
5
6
7
8
9
10
private int result=0;
public int Sum_Solution(int n) {
cale(n);
return result;
}
private boolean cale(int n){
result+=n;
return n!=0&&cale(n-1);
}

热评文章