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;
相关推荐
打码农的篮球5 分钟前
C++模板
开发语言·c++
嶔某19 分钟前
网络:基础概念
linux·服务器·网络·c++
Lenyiin1 小时前
《LeetCode 热题 100》整整 100 题量大管饱题解套餐 中
java·c++·python·leetcode·面试·刷题·lenyiin
John_ToDebug1 小时前
浏览器安全演进:从裸指针到 raw_ptr 的实践与思考
c++·chrome·性能优化
逝雪Yuki1 小时前
Leetcode——42. 接雨水
c++·算法·leetcode·双指针·接雨水
kyle~2 小时前
C++---初始化列表(initializer_list)
java·c++·list
mit6.8243 小时前
[蓝牙通信] 临界区管理 | volatile | 同步(互斥锁与信号量) | handle
c++·物联网
一匹电信狗3 小时前
【C++】手搓一个STL风格的vector容器
c语言·数据结构·c++·算法·leetcode·stl·visual studio
重启的码农4 小时前
深入fecal实现 (6) 伽罗瓦域 GF(256) 运算
c++·网络协议
重启的码农4 小时前
深入fecal实现 (2) 编码器 (Encoder)
c++·网络协议