题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。

分析:这道题没有多少实际意义,因为在软件开发中不会有这么变态的限制。但这道题却能有效地考查发散思维能力,而发散思维能力能反映出对编程相关技术理解的深刻程度。

通常求1+2+…+n 除了用公式n(n+1)/2之外,无外乎循环和递归两种思路。由于已经明确限制for和while的使用,循环已经不能再用了。同样,递归函数也需要用if语句或者条件判断语句来判断是继续递归下去还是终止递归,但现在题目已经不允许使用这两种语句了。我们仍然围绕循环做文章。循环只是让相同的代码执行n遍而已,我们完全可以不用for和while达到这个效果。比如定义一个类,我们new一含有n个这种类型元素的数组,那么该类的构造函数将确定会被调用n次。我们可以将需要执行的代码放到构造函数里。

#include <iostream>
#include <string.h>
#include <stdio.h>using namespace std;class Node
{private:static int i;static int ans;public:Node(){i++;ans += i;}static void set(){i = 0;ans = 0;}static int getSum(){return ans;}
};int Node::i = 0;
int Node::ans = 0;int Work(int n)
{Node::set();Node *node = new Node[n];delete []node;node = NULL;return Node::getSum();
}int main()
{int n;while(cin>>n)cout<<Work(n)<<endl;return 0;
}

特殊方法求1~n的和相关推荐

  1. 【数学知识】三种方法求 [1,n] 中所有数欧拉函数(线性筛欧拉函数优化至 O(n) )

    整理的算法模板合集: ACM模板 ①直接求小于或等于n,且与n互质的数个数(求[1,n]中所有数的欧拉函数时间复杂度:O(nn)O(n\sqrt{n})O(nn​)) ②求[1,n]之间每个数的质因数 ...

  2. 用子函数的方法求一个3*4的数组的转置数组

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p142 7.1.2 上级实训内容 [实训内容3]用子函数的方法求一个3*4的数组的转置数组 #incl ...

  3. 用子函数的方法求一维数组中所有元素之和

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p142 7.1.2 上级实训内容 [实训内容2]用子函数的方法求一维数组中所有元素之和 #includ ...

  4. Database之SQL:SQL之over partition by开窗函数的简介、使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略

    Database之SQL:SQL之over partition by开窗函数的简介.使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略 目录 over part ...

  5. boost::math模块使用 Brent 方法求函数最小值的示例

    boost::math模块使用 Brent 方法求函数最小值的示例 实现功能 C++实现代码 实现功能 boost::math模块使用 Brent 方法求函数最小值的示例 C++实现代码 #inclu ...

  6. 用符号方法求下列极限或导数matlab,实验7答案 Matlab符号计算

    matlab实验报告答案 实验7 Matlab符号计算 实验目的: 1. 掌握定义符号对象的方法: 2. 掌握符号表达式的运算法则以及符号矩阵运算. 3. 掌握求符号函数极限及导数的方法. 4. 掌握 ...

  7. 7-35 蒙特卡罗方法求圆周率 (30 分)

    使用蒙特卡洛仿真方法求圆周率. 输入格式: 从键盘输入四个实型数和一个整型数,分别为矩形左上角的横坐标.纵坐标.矩形长度.矩形宽度和投点次数,数与数之间可以用一个或多个空格或回车分隔. 输出格式: 如 ...

  8. Java黑皮书课后题第6章:6.10(使用isPrime方法)程序清单6-7提供了测试某个数字是否是素数的方法isPrime(int number)。使用这个方法求小于10000的素数的个数

    6.10(使用isPrime方法)程序清单6-7提供了测试某个数字是否是素数的方法isPrime(int number).使用这个方法求小于10000的素数的个数 题目 题目描述 程序清单6-7代码 ...

  9. 编写一个函数,输入n为偶数时,调用方法求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n...

    需求:编写一个函数,输入n为偶数时,调用方法求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n package com.Summer_0511.cn;impor ...

  10. 用符号方法求下列极限或导数matlab,matlab实验

    3,设有矩阵A 和B 123453 0166789101769A ,11 12131415023416171819209 7021 22 23 24 254 13 11B ???? ????-? ?? ...

最新文章

  1. 概率和统计的matlab指令
  2. 利用位运算解决 N 皇后问题
  3. 为什么内联函数,构造函数,静态成员函数不能为virtual函数
  4. LeetCode 2190. 数组中紧跟 key 之后出现最频繁的数字
  5. BugkuCTF-WEB题eval
  6. 求1+2+3+……+100的累加和。
  7. 美本计算机专业,关于美国本科计算机专业排名
  8. Python捕获 Warning 警告
  9. LeetCode Lowest Common Ancestor of a Binary Search Tree (LCA最近公共祖先)
  10. python---之阿partial
  11. C程序设计--VC++6.0的使用(常用快捷键)
  12. Shopee2022届校园招聘提前批笔试
  13. 比较两个文本差异,直接显示两个文本的相同点与不同点
  14. Blast2GO使用方法详解(命令界面
  15. 泰戈尔《飞鸟集》节选
  16. 一些大任务SQL的优化方案
  17. 博士入学考题(ZZ)
  18. v20超级计算机,荣耀v20正式发布 成为首款通过泰尔实验室的综合游戏体验五星手机...
  19. SVM支持向量机算法做预测,matlab,预测精度非常高
  20. 怎么用博客来把自己网站“养大”

热门文章

  1. (常用API)正则表达式匹配练习
  2. Filter_细节_web.xml配置方式
  3. SpringBoot异常处理-SimpleMappingExceptionResolver
  4. RestFul通信风格
  5. html追加datatype,jquery ajax中dataType的设置问题
  6. 合并多个word的代码_快速合并多个word文档内容,别再复制粘贴了!
  7. GCC 编译时优化某一个或几个函数或者不优化某一个或几个函数
  8. webclientt和httpwebrequest
  9. 深入浅出LVS:企业集群平台负载均衡的三种模式和算法实现
  10. 关于mydumper的.metadata文件丢失