加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[数学]求解等比数列和 --- C语言递归法求解

(2009-08-05 19:04:35)
标签:

数学

递归

c语言

杂谈

分类: 游戏数学

例题1:编程算出 1+1/2+1/4+1/16+……+1/2^n的和?(递归求解)

思路:首项为1,公比为1/2,项数n

      Sn = 1+1/2+1/4+1/16+……+1/2^n

      Sn+1 = 1+1/2+1/4+1/16+……+1/2^n + 1/2^(n+1)

           = 1+ 1/2 *(Sn)

 

参考算法:

float sum(int n)
{
    float s=0 ;
    if ( n == 1 ) {
        s=1;
    } else {
        s = 1 + 0.5 * sum(n-1);
    }

    return s;
}

 

例题2:写出计算x-x^2+x^3-x^4+......+(-1)^(n-1)*x^n值的递归函数。

思路:

Sn = x-x^2+x^3-x^4+......+(-1)^(n-1)*x^n
Sn+1 = x-x^2+x^3-x^4+......+(-1)^(n-1)*x^n+(-1)^n*x^(n+1)
=x(1- Sn)

 

参考算法:

float px(float x,int n)
{
    if ( n == 1 ) {
        return x;
    } else {
        return ( x * ( 1 - px(x, n-1) ) ); 
    }
}

(最后更新日期 09/08/05)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有