问题描写叙述

求 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. linux对比两个文件的差异

    在项目维护阶段,经常会对垃圾文件进行清理.比如没有在数据库中的文件进行删除,这个时候最好的选择就是使用shell命令了:废话不多说直接上代码: 1.首先准备好从数据表导出来的数据,方法随意 2.在服务 ...

  2. ssh项目导入报the import javax.servlet cannot be resolved

    在做javaWeb项目时,我们经常会出现丢失包的情况,如下图所示的错误,我们应该怎么解决呢? 根据网上教程向工程中加入tomcat的servlet-api.jar和jsp-api.jar的包 此时项目 ...

  3. JdbcTemplate:Jdbc模板和数据库元数据

    通过 Jdbc .C3P0 .Druid 的使用我们会发现即使我们做了工具的封装,但重复性的代码依旧很多.我们可以通过 JdbcTemplate 即 Jdbc 模板来使我们的代码更加简洁,逻辑更加清晰 ...

  4. 话说:Hibernate二级缓存

    Hibernate缓存分类: 一.Session缓存(又称作事务缓存):Hibernate内置的,不能卸除. 缓存范围:缓存只能被当前Session对象访问.缓存的生命周期依赖于Session的生命周 ...

  5. [ ZJOI 2006 ] Mahjong

    \(\\\) \(Description\) 现有权值分别为\(1\text~100\)的\(100\)种牌,分别给出每种排的张数\(A_i\),试判断能否胡牌,胡牌需要将所有牌不重不漏地分成以下几类 ...

  6. pd_ds 之 hash

    http://attack.cf/?post=23 打个广告....

  7. Android使用的webcview中带有音乐播放控件,在关闭或分享时处于界面不可见状态下,声音仍在播放的问题解决

    一. 问题出现原因         我们在做APP分享时,分享webview加载带有音乐播放控件的网页.当弹出分享界面,webview的网页处于后台状态或关闭该网页时,音乐声仍在播放.出现该类现象使我 ...

  8. 【深度学习笔记】(一)Mac下TensorFlow安装及环境搭建

    本文由@ray 出品,转载请注明出处.  文章链接:http://www.cnblogs.com/wolfray/p/7828903.html 在学习了一段时间台大李宏毅关于deep learning ...

  9. JS——滚动条

    1.核心思想与之前的拖拽盒子是一样的 2.完全将鼠标在盒子中的坐标给滚动条是错的,因为这样会使滚动条顶部立刻瞬间移动到鼠标位置 3.必须在鼠标按下事件时记住鼠标在滚动条内部的坐标,再将鼠标在盒子中的坐 ...

  10. SQL Server2008 数据库日志清理

    USE [master] --运行master数据库 GO ALTER DATABASE HIS_MHYW SET RECOVERY SIMPLE WITH NO_WAIT --库 (dh_emr) ...