本文最后更新于 1394 天前,其中的信息可能已经有所发展或是发生改变。
原题:https://leetcode-cn.com/problems/qiu-12n-lcof/
题目描述:求 1+2+...+n
,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
属于初见一脸懵逼,仔细一想很简单的题,考的语言特性
据题意得可能要用到的几种东西:1.位运算(代替乘除) 2.短路逻辑运算(代替判断) 3.递归(代替循环)
从C++的角度来讲可以用一些math.h库里的东西(就暂且先不考虑这个了)
class Solution {
public:
int sumNums(int n) {
int total = n;
n && (total+=sumNums(n-1));
return total;
}
};