实现1+2+3...+n的不同解法
来源:互联网 发布:数据库完整性约束 编辑:程序博客网 时间:2024/06/06 02:12
实现1+2+3…+n,要求不能使用乘除法、循环、条件判断、选择相关的关键字。
方法一:使用构造函数。
在构造函数中对静态成员变量++,创建n个对象,就能++n次。
class Sum{public: Sum() { n++; sum += n; } static int GetSum() { return sum; }private: static int sum; static int n;};int Sum::sum = 0;int Sum::n = 0;void SumFun(){ Sum* s = new Sum[100]; delete[] s; s = NULL; cout<<"sum = "<<Sum::GetSum()<<endl;}
方法二:利用虚函数
使用虚函数,定义数组,当数组下标为0时,调用基类,数组下标不为0时,递归相加。
class Base;Base* arr[2];class Base{public: virtual int sum(int n) { return 0; }};class Sum:public Base{public: virtual int sum(int n) { return arr[!!n]->sum(n-1)+n; }};void SumFun(){ Base b; Sum s; arr[0] = &b; arr[1] = &s; cout<<"sum = "<<arr[1]->sum(100)<<endl;}
阅读全文
0 0
- 实现1+2+3...+n的不同解法
- n^2+(n+1)^2 为完全平方数问题的解法与实现
- 1+2+3+.........+N 的n种解法
- 求1+2+3+.....+n的几种解法
- 1+2+3+……+n的非循环解法
- fibonacci 的不同解法
- 用log(N)的解法实现数值的整数次方
- N元一次不定方程解法的C#实现
- 不同方法实现1+2+3+4+5+....+n
- [Wikioi 1295]N皇后问题---两种不同的解法(复习)
- 求最大公约数的不同解法
- N 皇后的递归解法
- n皇后问题的解法
- 0-1背包问题的几种不同解法
- 两种解法:找出n个自然数(1,2,3,……,n)中取r个数的组合。
- 剑指offer——面试题46:求1+2+...+n的多种解法
- 南邮acm 1009 2的N次方 java解法
- [LeetCode] 3Sum的O(N^2)解法
- SpringMvc使用以及ssm整合
- centos创建本地yum仓库
- 阿里云centos7.3官方镜像系统下安装nodejs
- 实现一个Add函数,让两个数相加,但是不能使用+、-、*、/等四则运算符。
- 当机器学习遇见“众包”——访微软雷德蒙研究院首席研究员周登勇
- 实现1+2+3...+n的不同解法
- c++中对字符的判断
- C#编程入门_1
- Android: Error generating final archive: Found duplicate file for APK: AndroidMainfest.xml问题
- VS2015+Opencv3.2+EasyPR下载EasyPR运行问题
- [LeetCode] Maximum Product Subarray 求最大子数组乘积
- Selenium3 自动化测试入门案列
- Qt / C++常见小问题汇总(二)
- ajax