求1+2+…+n(不使用判断语句、循环语句与乘除法)
本文最后更新于 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;
    }
};
上一篇
下一篇