那天,同学的老师出了道题目,让我们做,不用递归和循环求1~100的和?
自己写了个代码今天发出来,看看大家有没有其他的好方法啊!希望有好方法的留言交流下,,,
代码如下:
//不用循环和递归求和!(C++/VC++6.0)
#include<iostream>
using namespace std;
class calculate
{
public:
calculate();
int getsum();
static int N;
static int SUM;
};
int calculate::N=0;
int calculate::SUM=0;
calculate::calculate()
{
N++;
SUM+=N;
}
int calculate::getsum()
{
returnSUM;
}
void main()
{
intmax,min;
cout<<"输入你想求和的范围:"<<endl;
cout<<"输入最小数(min>0):"<<endl;
cin>>min;
while(min<0){ //min输入不合法,提示重新输入;
cout<<"输入最小数(min>0)不合法,重新输入:"<<endl;
cin>>min;
}
cout<<"输入最大数(max>0且max>=min):"<<endl;
cin>>max;
while(max<0||max<min){ //max输入不合法,提示重新输入;
cout<<"输入最大数(max>0&&max>=min)不合法,重新输入:"<<endl;
cin>>max;
}
calculate::N=(min-1);
calculate *p=new calculate[max-min+1];
cout<<min<<"~"<<max<<"的和是:"<<p->getsum()<<endl;
delete[] p;
}
这个方法是利用了析构函数的默认构造函数的调用和静态数据成员的特性来实现的,其实这里的自动的重复调用析构函数还可以用那个不用new而选用C++容器,只要容器里面包含的是对象就可以了,如vector等,因为当容器里面包含的是类对象的时候,当你定义了多少个元素,就也会自动的调用析构函数初始化对象!
不知道大家有什么其他的好方法没,留言交流下啊,(仅限用C/C++实现!)
分享到:
相关推荐
c++-深度优先遍历的递归实现版本
归并分类 计算机算法 c/c++语言 递归和非递归
哈夫曼编码实现_c语言 (最小堆) 求WPL -----递归求解
C++递归算法搜索遍历windows磁盘文件--》应用程序 Email:982646379@qq.com
c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘...
本文实例讲述了C++使用递归和非递归算法实现的二叉树叶子节点个数计算方法。分享给大家供大家参考,具体如下: /*求二叉树叶子节点个数 -- 采用递归和非递归方法 经调试可运行源码及分析如下: ***/ #include #...
嵌入式C语言培训-C编程基础-递归函数视频教程,需要的朋友可以下载一下。
递归算法ppt C/C++ acm 蓝桥杯等竞赛的可以看下
n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---...
0-1背包问题 递归算法 c语言实现,已通过编译,可以直接使用
递归算法在C/C++程序设计的描述与实现
数据结构作业 二叉树的建立,递归,非递归的前中后序遍历,注释详细。
NOIP基础算法--枚举、递推和递归 很有用的哦,看看有好处的
递归,可以实现多位数组的图像显示.......
使用动态规划方法实现0/1背包问题求解;一共两种解法:存储记忆+递归; 自下而上的递归(迭代法);我CSDN博客有详细介绍。
数据结构,递归实现十进制数转二进制数,C++实现,可多次输入数
汉诺塔的非递归实现,c++实现的,很简单,只有50多行,从递归的汉诺塔改编而来,将原来递归时的参数状态保存在栈中,入栈代替递归,出栈代替递归返回。
C++ C++教程 C++源码 C++程序设计 教程 标准C++程序设计教程 源代码 计算器 递归 递归计算器
c#入门简单代码,适合新手,简单的递归求和实现。 主函数 static void Main(string[] args) { Class1 aa = new Class1(); Console.WriteLine("请输入待求阶乘的数:"); int n = Convert.ToInt32(Console....
数据结构(c语言) 对于汉诺塔的递归实现。在对学习数据结构递归的人,帮助他们对汉诺塔和递归思想的理解