问题描写叙述

求 1+2+ … +n ,要求不能使用乘除法、 for 、 while 、 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

用递归方法求解。sum(n)=sum(n-1)+n

int getSum(int n)
{
int result=0;
(n>0)&&(result=getSum(n-1)+n);
return result;
}

随机推荐

  1. [ BZOJ 3038 & 3211 / SPOJ GSS4 ] 上帝造题七分钟2 / 花神游历各国

    \(\\\) \(Description\) 给出一个长度为\(N\)的数列,共进行\(M\)次操作: \(1\ L\ R\):查询\([L,R]\)区间和. \(2\ L\ R\):对\([L,R] ...

  2. Dancing Links X 学习笔记

    \(\\\) Definitions 双向链表:记录前后两个指针的链表,每个顺序关系都有双向的指针维护. \(Dancing\ Links\):双向十字循环链表,建立在二维关系上,每个元素记录上下左右 ...

  3. Android popwindow 消失监听

    LisviewPop.setOnDismissListener(new OnDismissListener() { @Override public void onDismiss() { //改变显示 ...

  4. JVM 内存设置大小(Xms Xmx PermSize MaxPermSize 区别)

    Eclipse崩溃,错误提示:MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) sp ...

  5. sublime text3 verilog代码编写高级操作篇

    2018.10.21 好久没写博客了,这段时间一直在学习一直在沉淀,然而发现学的越多会的更少,只能快马加鞭吧! 博主从大一暑假接触FPGA,到现在快一年半了,时间恍逝.刚开始入门也是用的quartus ...

  6. select 多选 和单选,分组

    <select name="group"> <option value="1">北京</option> <option ...

  7. php第十九节课

    JQUERY <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  8. codevs1231 最优布线问题

    1231 最优布线问题 题目描述 Description 学校需要将n台计算机连接起来,不同的2台计算机之间的连接费用可能是不同的.为了节省费用,我们考虑采用间接数据传输结束,就是一台计算机可以间接地 ...

  9. Git 基础教程 之 标签

    所谓标签:就是一个让人容易记住的有意义的名字,与某个commit绑在一起. 创建标签:①切回需要打标签的分支上                  ② git tag <name>  默认标 ...

  10. 手写DAO框架(二)-开发前的最后准备

    -------前篇:手写DAO框架(一)-从“1”开始 --------- 前言:前篇主要介绍了写此框架的动机,把主要功能点大致介绍了一下.此篇文章主要介绍开发前最后的一些准备.主要包括一些基础知识点 ...