求1+2+3+…..+n
2024-10-08 18:07:47
【问题】求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
【思路】由于题目好多运算符不能用,我们只有想到使用递归的方法,但是递归一般要判断递归结束条件,但题目又不让使用if语句,因此我们可以使用&&运算符,也就是这句话:res && (res+=Sum_Solution(n-1)),也就是res为零时,与运算符的右边将不执行,因此递归结束,返回最后的res即可得到总和,非常棒的思路!
class Solution {
public:
int Sum_Solution(int n) {
int res = n;
res && (res += Sum_Solution(n-));
return res;
}
};
最新文章
- angular前端开发环境
- java学习第15天(Linklist Vector)
- 第二篇:SOUI源码的获取及编译
- ACM 数独
- Linux 系统裁剪
- JS 学习笔记--9---变量-作用域-内存相关
- 微软发布屏蔽Win10升级的官方办法
- SICP 练习 1.3
- jquery实现ajax提交form表单的方法总结
- 二叉树3种递归和非递归遍历(Java)
- JS前端正则表达式学习笔记(转)
- 字符串查找算法总结(暴力匹配、KMP 算法、Boyer-Moore 算法和 Sunday 算法)
- AES算法,DES算法,RSA算法JAVA实现
- oracle实现like多关键字查询
- mongodb遇到的问题
- Rabbit的机器人-二分答案
- Exception 02 : java.lang.ClassNotFoundException: Could not load requested class : com.mysql.jdbc.Driver
- win10上跑 sqlserver 2000应用程序
- 什么是maven,jar包的查找过程?
- javabean为什么要实现序列化?