面试题 64. 求 1+2+3+...+n
题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
1.采用&&解答
/*求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。*/#includeusing namespace std;int Sum_Solution(int n){ int sum = n; sum&&(sum+=Sum_Solution(n-1)); return sum;}int main(){ cout< <
2.采用异常退出递归解决
public class 特殊求和 { public static int Sum_Solution(int n) { try{ int i = 1/n; //当n为0是返回0 return n + Sum_Solution(n-1); }catch(Exception e){ return 0; } } public static void main(String[] args) { System.out.println(Sum_Solution(100)); }}
运行结果
5050