求 1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C)。
数据范围
1≤n≤50000。
样例
输入:10 输出:55
class Solution {
public int sumNums(int n) {
boolean flag = (n > 0) && ((n += sumNums(n - 1)) > 0);
return n;
}
}
该文章介绍了一个编程问题,要求计算1到n的和,但禁止使用乘除法、循环和条件判断。给出的Solution类中,通过递归实现,巧妙地利用了布尔逻辑进行求和。
求 1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C)。
数据范围
1≤n≤50000。
样例
输入:10 输出:55
class Solution {
public int sumNums(int n) {
boolean flag = (n > 0) && ((n += sumNums(n - 1)) > 0);
return n;
}
}
285
453
449
361
389

被折叠的 条评论
为什么被折叠?