题目:求1 + 2 + 3 + ... + n 的和

要求:不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)

答:

#include "stdafx.h"
#include <iostream>using namespace std;//1、函数查找表法
typedef int (*Func)(int n);
int Sum1(int n)
{return 0;
}int Sum2(int n)
{Func sum[2] = {Sum1, Sum2};return sum[n > 0](n - 1) + n;
}//2、&&短路特性
int CountSum(int n, int &total)
{n && CountSum(n - 1, total);return total += n;
}//3、构造函数法
class SumClass
{
public:SumClass(){n++;sum += n;}static int GetSum(){return sum;}
private:static int n;static int sum;
};int SumClass::n = 0;
int SumClass::sum = 0;int _tmain(int argc, _TCHAR* argv[])
{cout<<"1、函数查找表:1+2+3+...+100 = "<<Sum2(100)<<endl;int total = 0;CountSum(100, total);cout<<"2、&&短路特性:1+2+3+...+100 = "<<total<<endl;SumClass *p = new SumClass[100];delete []p;cout<<"3、构造函数法:1+2+3+...+100 = "<<SumClass::GetSum()<<endl;return 0;
}

运行界面如下:

求1 + 2 + 3...+ n的和相关推荐

  1. 力扣解题——求根到叶子节点数字之和

    难度:中等 题目:给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到 ...

  2. HJ86 求最大连续bit数

    描述 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 本题含有多组样例输入. 输入描述: 输入一个byte数字 输出描述: 输出转成二进制之后连续 ...

  3. 利用牛顿法求平方根-Go语言实现

    牛顿法解释 百度的解释如下: 通俗的解释就是:多数方程不存在求根公式,牛顿提出了一种用迭代来求方程近似根的方法.思路就是不断取切线,用线性方程的根逼近非线性方程f(x)=0f(x)=0f(x)=0的根 ...

  4. 求字符串全排列 python实现

    文章目录 算法思想 附上c语言实现 参考 算法思想 输入一个字符串,打印这个字符串中字符的全排列. eg: 输入:abc 输出:abc acb bac bca cab cba 思路:将求字符串的全排列 ...

  5. 正视自己的所想所求,活出真实的自己

    你有没有发现有时我们会觉得不开心,是因为有时候我们会觉得有时候我们很穷,过得没有别人好.其实,有时候我们过得不好,真的不是因为穷.很多时候,我们习惯把生活的不愉快归罪于缺钱: 所以会觉得不开心,如果我 ...

  6. 经典笔试上机考题-表达式求值

    相信参加过笔试面试同学应当见到过表达式求值这道题,下面列举的一道经典的考题,本文将同大家一起细细探讨一下表达式求值这一类问题的求法,希望抛砖引玉,其中有不妥的地方也请大家多多批评指正. /* 功能:四 ...

  7. python符号求导

    https://blog.csdn.net/m0_46149708/article/details/109024564 from sympy import * x, y, z = symbols('x ...

  8. 矩阵乘以其矩阵转置求导-数学

    20210703 矩阵论 https://zhuanlan.zhihu.com/p/288541909?utm_source=wechat_session 矩阵运算法则 20210529 https: ...

  9. 解释为什么用梯度下降而不是直接求导数为0的解

    问题: 在计算线性回归最大似然估计的解的时候,最后的推导结果是 为什么不直接求出θ?而是一步步迭代求出θ? 原因 因此,梯度下降可以节省大量的计算时间.此外,它的完成方式允许一个简单的并行化,即在多个 ...

  10. PyTorch入门学习(二):Autogard之自动求梯度

    autograd包是PyTorch中神经网络的核心部分,简单学习一下. autograd提供了所有张量操作的自动求微分功能. 它的灵活性体现在可以通过代码的运行来决定反向传播的过程, 这样就使得每一次 ...

最新文章

  1. 在vue中使用vuex,修改state的值示例
  2. linux c 实现try catch异常捕获
  3. Python+Selenium 自动化-指定chrome驱动运行selenium实例演示,运行指定位置下的浏览器驱动
  4. Python 基于python+mysql浅谈redis缓存设计与数据库关联数据处理
  5. ISA2006无人值守安装
  6. 马桶怎么清洗才干净无异味?
  7. Servlet的入门
  8. 疫情风向标?苹果宣布将暂时关闭大中华区以外的所有苹果零售店!
  9. 事件冒泡、事件捕获、事件委托
  10. oracle视图定期执行,oracle job 定时执行 存储过程
  11. laravel 图片流_laravel 做图片的缩略图 踩坑
  12. Qt中使用SQLite
  13. 自定义OrderedMap
  14. 【CC2640R2F】香瓜CC2640R2F之LCD
  15. cad图形不见了怎么办_画好的cad图纸文件不见了怎么找回?
  16. 关于临时HY学长被安排拉二分题不想翻译找到DYM学长这件事(三)
  17. 《在路上 …》 金山卫士开源 , 人生很多感慨
  18. mysql更改date为ym_关于日期格式设置及转换
  19. java不完全教程附编码示例
  20. BP神经网络做分类+隐含层节点确定+红酒数据为例

热门文章

  1. DataGrid/DataList
  2. 一种清除windows通知区域“僵尸”图标的方案——XP系统解决方案
  3. PyTorch中nn.Module类简介
  4. 深度神经网络中的局部响应归一化LRN简介及实现
  5. K-最近邻法(KNN)简介
  6. vs2008中,在OCX控件中应用doc/view基本步骤
  7. 【C++】C++11 STL算法(四):二分查找法(Binary search operations)、合并操作
  8. 【POCO】POCO学习总结(三)——交叉编译
  9. 未获得计算机访问权限,如何获取文件夹的访问权限
  10. alexnet训练多久收敛_如何将深度学习训练速度提升一百倍?PAISoar 来了