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;
相关推荐
wangchen_012 分钟前
C++类和对象(4)
开发语言·c++
.远_21 分钟前
【25.3】C++智能交友系统
开发语言·c++·交友
summ1ts1 小时前
P3489 [POI2009] WIE-Hexer
c++·算法·图论·dijkstra·状态压缩
NameisBoy2 小时前
xmake vscode+clangd实现c/c++程序更精确跳转、补全
c语言·c++·vscode·clangd·xmake
一直在找资料的菜鸟2 小时前
g++ 编译器命令简单介绍
开发语言·c++·vscode·g++·编译命令
巨人张2 小时前
C++核心编程
java·jvm·c++
Pafey2 小时前
Qt 弹出菜单右键菜单 QMenu 设置不同颜色的子项
c++·qt·qmenu
zjsnh_Z2 小时前
C++ 继承
开发语言·c++
Curry_Math2 小时前
数据结构:单链表
数据结构·c++
Eloudy3 小时前
roctracer 的应用示例
c++·算法·rocm