C++ 求1+2+3+......+n__有限制(牛客网)

点击链接即可产看题目:求1+2+3+...+n_牛客题霸_牛客网

一、题目

描述

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

数据范围: 0<n≤2000<n≤200

进阶: 空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n)

示例1

输入:

复制代码
5

返回值:

复制代码
15

示例2

输入:

复制代码
1

返回值:

复制代码
1

二、解题思路以及代码

利用构造函数,生成N个类的对象,就要调用N次构造函数,定义两个静态变量,一个村结果,一个存当前的累加值,

注意:在牛客网上面是支持变长数组的!!!!

复制代码
#include <type_traits>

class Solution 
{
    class Sum
    {
    public:
        Sum()
        {
            ret += i;
            i++;                    
        }
    };
public:
    int Sum_Solution(int n) 
    {
        Sum a[n];
        return ret;
    }
private:
    static int i;
    static int ret;
};

int Solution:: i = 1;
int Solution:: ret = 0;
相关推荐
Mark127714 分钟前
Trie 树(字典树)
c++·mark1277
Jiezcode40 分钟前
Unreal Engine ClassName Rule
c++·游戏·图形渲染·虚幻引擎
long_run1 小时前
C++之静态库 vs 动态库
c++
risc-v@cn6 小时前
【在ubuntu下使用vscode打开c++的make项目及编译调试】
c++·vscode·ubuntu
让我们一起加油好吗6 小时前
【C++】多态(详解)
c++·visualstudio·多态·虚函数
草莓熊Lotso6 小时前
【C++】--函数参数传递:传值与传引用的深度解析
c语言·开发语言·c++·其他·算法
zylyehuo7 小时前
C++提高编程
c++
scx201310047 小时前
20250822 组题总结
c++·算法
困鲲鲲8 小时前
CMake2: CMakeLists.txt的常用命令
c++·cmake·常用命令
云边有个稻草人8 小时前
【C++】第二十五节—C++11 (上) | 详解列表初始化+右值引用和移动语义
c++·c++11·右值引用·移动语义·列表初始化·移动构造·移动赋值