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;
相关推荐
Ajiang282473530443 分钟前
对于C++中stack和queue的认识以及priority_queue的模拟实现
开发语言·c++
‘’林花谢了春红‘’5 小时前
C++ list (链表)容器
c++·链表·list
机器视觉知识推荐、就业指导7 小时前
C++设计模式:建造者模式(Builder) 房屋建造案例
c++
Yang.999 小时前
基于Windows系统用C++做一个点名工具
c++·windows·sql·visual studio code·sqlite3
熬夜学编程的小王9 小时前
【初阶数据结构篇】双向链表的实现(赋源码)
数据结构·c++·链表·双向链表
zz40_9 小时前
C++自己写类 和 运算符重载函数
c++
六月的翅膀9 小时前
C++:实例访问静态成员函数和类访问静态成员函数有什么区别
开发语言·c++
liujjjiyun10 小时前
小R的随机播放顺序
数据结构·c++·算法
¥ 多多¥10 小时前
c++中mystring运算符重载
开发语言·c++·算法