1+2+3+...+n不能用while、for、if else等实现
问题描写叙述
、 switch 、 case 等keyword以及条件推断语句。
方法1
#include <iostream>
using namespace std;
class Plus
{
public:
Plus() { ++i, sum += i; }
//去掉以下的reset函数试试
static void reset() { i = 0; sum = 0; }
//去掉以下的statickeyword试试
static int getSum() { return sum; } private:
static int i;
static int sum;
}; int Plus::i = 0;
int Plus::sum = 0; int cacSum(int n)
{
//仅仅有static函数才干如此调用
Plus::reset(); Plus *test = new Plus[n];
delete[] test; return Plus::getSum();
} int main()
{
int i = 100;
int result = cacSum(i);
cout << "result = " << result << endl;
system("pause");
return 0;
}
方法2
int getSum(int n)
{
int result=0;
(n>0)&&(result=getSum(n-1)+n);
return result;
}
随机推荐
- [ BZOJ 3038 & 3211 / SPOJ GSS4 ] 上帝造题七分钟2 / 花神游历各国
\(\\\) \(Description\) 给出一个长度为\(N\)的数列,共进行\(M\)次操作: \(1\ L\ R\):查询\([L,R]\)区间和. \(2\ L\ R\):对\([L,R] ...
- Dancing Links X 学习笔记
\(\\\) Definitions 双向链表:记录前后两个指针的链表,每个顺序关系都有双向的指针维护. \(Dancing\ Links\):双向十字循环链表,建立在二维关系上,每个元素记录上下左右 ...
- Android popwindow 消失监听
LisviewPop.setOnDismissListener(new OnDismissListener() { @Override public void onDismiss() { //改变显示 ...
- JVM 内存设置大小(Xms Xmx PermSize MaxPermSize 区别)
Eclipse崩溃,错误提示:MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) sp ...
- sublime text3 verilog代码编写高级操作篇
2018.10.21 好久没写博客了,这段时间一直在学习一直在沉淀,然而发现学的越多会的更少,只能快马加鞭吧! 博主从大一暑假接触FPGA,到现在快一年半了,时间恍逝.刚开始入门也是用的quartus ...
- select 多选 和单选,分组
<select name="group"> <option value="1">北京</option> <option ...
- php第十九节课
JQUERY <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- codevs1231 最优布线问题
1231 最优布线问题 题目描述 Description 学校需要将n台计算机连接起来,不同的2台计算机之间的连接费用可能是不同的.为了节省费用,我们考虑采用间接数据传输结束,就是一台计算机可以间接地 ...
- Git 基础教程 之 标签
所谓标签:就是一个让人容易记住的有意义的名字,与某个commit绑在一起. 创建标签:①切回需要打标签的分支上 ② git tag <name> 默认标 ...
- 手写DAO框架(二)-开发前的最后准备
-------前篇:手写DAO框架(一)-从“1”开始 --------- 前言:前篇主要介绍了写此框架的动机,把主要功能点大致介绍了一下.此篇文章主要介绍开发前最后的一些准备.主要包括一些基础知识点 ...