专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html
题目描述
要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句。不能用循环乘法,只能用递归,关键在于如何退出递归。
题解报告
思路1:短路特性退出递归
int Sum_Solution(int n) {
n&&(n+=Sum_Solution(n-1));
return n;
}
思路2:用java的异常退出递归
public class Solution {
public int Sum_Solution(int n) {
return sum(n);
}
int sum(int n){
try{
int i = 1 % n;
return n + sum(n-1);
}
catch(Exception e){
return 0;
}
}
}