【10】求1+2+3.....+n
来源:互联网 发布:c语言常用输入函数有 编辑:程序博客网 时间:2024/04/29 14:08
题目:输入一个n求1+2+3...+n,要求不能使用乘除法、for、while、if、else、switch、case以及条件判断语句
方案:题目明确要求不能使用常规的解法,所以我们应该考虑使用另外一种解法
我们利用构造函数和静态成员变量已经静态成员函数来实现
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;//Num类class Num{public:Num(void);static void Reset(void);static int GetSum(void);private:static int value;static int sum;};//初始化静态成员变量int Num::value = 1;int Num::sum = 0;//实现类的函数Num::Num(void){ sum += value; //累加求和 ++value; //构造完一个对象就把value加1}//重置静态成员变量的值void Num::Reset(void){ value = 1; sum = 0;}//返回和int Num::GetSum(void){ return sum;}int main(){//样例int n = 100;Num *num = new Num[n]; //new n个对象delete[] num; //释放内存空间num = NULL; //指向NULLcout<<Num::GetSum()<<endl; //输出和5050return 0;}
题目:不借助循环打印出1,2,3......n
#include<iostream>#include<algorithm>using namespace std;//定义一个类class Num{public:Num(void);static void ReSet(void);private:static int value;};//初始化静态成员的值int Num::value = 1;//实现构造函数Num::Num(void){ printf("%d ", value);++value;}//实现ReSet函数void Num::ReSet(void){ value = 1;}int main(){//样例int n = 10;Num *num = new Num[n]; //new n个对象delete[] num;num = NULL;return 0;}
0 0
- 【10】求1+2+3.....+n
- 求1+2+3...+n
- 求1+2+3...+n
- 求1! + 2! +...+n!
- 求1!+2!+....n!
- 求 1+2+...+n
- 求1+2+...+n
- 求1+2+...+n
- 求1+2+...+n
- 求1+2+...+n
- 求1+2+。。。+n
- 求1+2+....+n
- 求1+2+...+n
- 求1+2+...+n
- 求1+2+...+n
- 求1+2+...+n
- 求1+2+...+n
- 求1+2+...+n
- MongoDB基本使用
- sql 触发器
- C++老矣,尚能饭否?
- Innodb存储引擎内存报警问题处理过程
- Counting Bloom Filter
- 【10】求1+2+3.....+n
- 套接字通讯实例(TCP)
- 微信营销可以用来做什么?
- Java利用POI生成Excel强制换行
- 共享存储区通信实例及分析
- 【POJ】1002 487-3279
- yii relational query (yii 关系查询详解)官方指南翻译
- 共享存储区通信实例及分析
- C++与android 的比较