关闭

循环代替递归

155人阅读 评论(0) 收藏 举报
分类:

帮同学解决c小问题,本来以为非要用递归,结果发现循环就足够了。。。

大概就是s=1+(1+2^0.5)+(1+2^0.5+3^0.5)...+(1+2^0.5+...+n……0.5).

一个双重循环就搞定了。觉着c小程序还挺有意思。

#include <stdio.h>
#include<math.h>

int main()
{
    int n,i,j;
    float  s=1,sum;
    printf("请输入n:\n");
    scanf("%d",&n);
    for(i=2;i<=n;i++){
		sum=1;
		for(j=1;j<i;j++)
            sum+=sqrt(j+1);
		s+=sum;
	}
    printf("%.4f\n",s);
    return 0;
}

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

如何利用循环代替递归以防止栈溢出(译)

摘要:我们经常会用到递归函数,但是如果递归深度太大时,往往导致栈溢出。而递归深度往往不太容易把握,所以比较安全一点的做法就是:用循环代替递归。文章最后的原文里面讲了如何用10步实现这个过程,相当精彩。...
  • lovewubo
  • lovewubo
  • 2014-07-18 21:06
  • 2777

javascript递归、循环、迭代、遍历和枚举概念

javascript递归、循环、迭代、遍历和枚举概念   〓递归(recursion)在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。递归一词还较常用于描述以自相似方法重复...
  • wustzbq0713
  • wustzbq0713
  • 2015-06-06 12:45
  • 5633

利用递归来模拟多重嵌套循环.

//利用递归来模拟多重嵌套循环. 如以下循环: 1 2 3 4 5 6 for(int i=0;i     for(int j...
  • u013797304
  • u013797304
  • 2016-07-18 22:42
  • 1830

如何利用循环代替递归以防止栈溢出(译)

摘要:我们经常会用到递归函数,但是如果递归深度太大时,往往导致栈溢出。而递归深度往往不太容易把握,所以比较安全一点的做法就是:用循环代替递归。文章最后的原文里面讲了如何用10步实现这个过程,相当精彩。...
  • lovewubo
  • lovewubo
  • 2014-07-18 21:06
  • 2777

WHILE循环语句的翻译程序设计(递归下降法、输出三地址表示)

  • 2010-01-11 13:29
  • 4KB
  • 下载

WHILE循环语句的翻译程序设计(递归下降法、输出三地址表示)

  • 2011-01-18 20:58
  • 1.97MB
  • 下载

DO-WHILE循环语句的翻译程序设计(递归下降法、简单优先法、LR方法、LL(1)法、输出四元式、输出三地址表示)

  • 2011-01-02 13:48
  • 6KB
  • 下载

for循环语句的翻译(递归下降法,四元式)

  • 2012-01-06 22:53
  • 5.04MB
  • 下载

java m取n 重复 不重复 排列组合 for循环嵌套递归

  • 2016-06-13 11:53
  • 13KB
  • 下载

linux下为目录和文件设置权限,包括子目录的循环递归设置

  • 2012-01-06 20:10
  • 95KB
  • 下载
    个人资料
    • 访问:6988次
    • 积分:564
    • 等级:
    • 排名:千里之外
    • 原创:50篇
    • 转载:3篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论