这样的递归,我实在无语
2011-10-30 15:39
211 查看
谈起递归,有一好同学认为递归不过如此,甚至还结合堆栈之类讲了讲递归的执行。于是请他将1+2+3+......+100用递归实现。结果为:
#include <stdio.h>
int sum(int n)
{
if(n<100)
return n+sum(n+1);
else
return 100;
}
void main()
{
printf("%d\n", sum(1));
}
看着他的兴奋劲,我实在无语。
#include <stdio.h>
int sum(int n)
{
if(n == 1)
return 1;
else
return n+sum(n-1);
}
void main()
{
printf("%d\n", sum(100));
}
函数sum的作用为计算1+2+...+n的和。思路也很简单只要计算出1+2+...+(n-1)的和,再加上n的和即问题的解了,sum(n)可以计算1+2+...+n的和,显然sum(n-1)就可以计算1+2+...+(n-1)的和,规模变小,问题重复......
可是他的答案也对,他的程序在理论上也没有问题......
最后,只能表扬之后请他有时间看一下我的关于递归的视频教程。
#include <stdio.h>
int sum(int n)
{
if(n<100)
return n+sum(n+1);
else
return 100;
}
void main()
{
printf("%d\n", sum(1));
}
看着他的兴奋劲,我实在无语。
#include <stdio.h>
int sum(int n)
{
if(n == 1)
return 1;
else
return n+sum(n-1);
}
void main()
{
printf("%d\n", sum(100));
}
函数sum的作用为计算1+2+...+n的和。思路也很简单只要计算出1+2+...+(n-1)的和,再加上n的和即问题的解了,sum(n)可以计算1+2+...+n的和,显然sum(n-1)就可以计算1+2+...+(n-1)的和,规模变小,问题重复......
可是他的答案也对,他的程序在理论上也没有问题......
最后,只能表扬之后请他有时间看一下我的关于递归的视频教程。
相关文章推荐
- 周鸿祎,高司令 2010-09-28 00:41 27469人阅读 评论(185) 收藏 举报 还是感到有必要将自己的一些想法快速记下来。 首先是对周鸿祎新员工演讲的看法。 就说实话这一点来说,周鸿祎比很多人强。所以我比较喜欢引用他的话,确实比较实在,不装逼。 至于一个公司招人的风格,是公司自己定的,别人也无权评价。有人说周是画大饼,忽悠员工卖命。废话,难道新员工讲话还有别的目的吗? 但我不认为周的选人思路在别的公司可以通行。原因是这样的:近十几年来,我们听到很多人有类似的说法,比如我们公司不要
- 今天又看到几个爱国的帖子,对于这样可悲的爱国实在看不过眼了
- 用递归法:设计算法求解汉诺塔问题,并编程实现。 (1) Hanoi(汉诺)塔问题分析 这是一个古典的数学问题,是一个用递归方法解题的典型例子。问题是这样的:古代有一个梵塔,塔内有3个座 A,B,C
- 看到WEIBO上面好几个牛人在BS .NET,实在无语。
- 请问这样的查询(递归树)如何处理?
- 结构体内可以包含自身的指针(链表实现方法)或 引用 但不可以包含自身变量即递归 (因为这样一来结构体大小就无法确定了)
- 保留空间的容量用于为堆栈设置一个上限,这样就可以抓住代码中的循环递归错误
- 这样的递归调用,你看出来了?
- 不知为何,这样的为递归在windows下内存是一直涨的
- 唉,一大早起床遇到脑残的,实在无语!QQ:124316912
- 真是无语二手房可以这样逃税
- 这样密集的负能量段子,看起来实在是太爽啦!!!
- 有这样的家长,无语中
- ASP.net 2005 Treeview 无限分类非地递归终极解决方案
- 常用算法——递归
- 常见Java面试题 :迭代(iteration)和递归(recursion)
- 简单易懂的程序语言入门小册子(5):基于文本替换的解释器,递归,不动点,fix表达式,letrec表达式
- 递归实现n^k
- 递归和尾递归的比较,斐波那契
- php递归的例子