论坛: 编程破解 标题: 这个迭代怎么写?简单的问题??? 复制本贴地址    
作者: seny11 [seny11]    论坛用户   登录
一个函数用迭代不用递归:
int hermit(int n,int x)
{
}
要求:
H0(x)=1 n=0 //H旁边的0为下标数
H1(x)=2x n=1
Hn(x)=2xHn-1(x)-2(n-1)Hn-2(x) n>1

看来是没灵感了。递归一下就可以,怎么迭代反而想不出来了。昏

地主 发表时间: 04-12-23 03:05

回复: 286 [unique]   版主   登录
int hermit(int n,int x)
{
    int HN=0,H1=2*x,H2=0;
    if (n<0)
        return -1;//假设-1表示ERROR
    if (n==0)
        return H2;
    if (n==1)
        return H1;
    for (int i=2;i<n;i++)
    {
        HN=2*x*H1-2*(i-1)*H2;
        H2=H1;
        H1=HN;     
    }
    return HN;
}

B1层 发表时间: 04-12-23 13:46

回复: seny11 [seny11]   论坛用户   登录
谢谢啊。
可是286,当i=2时,岂不是会2xH1(x)-2(n-1)H0(x) //*H2岂不是乘以0?应该为1吧?
而这个应该为2(n-1)*1啊?

B2层 发表时间: 04-12-24 05:03

回复: seny11 [seny11]   论坛用户   登录
h2初始化应该为1吧?
csdn的告诉偶是这样?286谢谢啊

B3层 发表时间: 04-12-26 23:17

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号