| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 601 人关注过本帖
标题:解决一道题,有代码,求修改错误
只看楼主 加入收藏
gerrytang
Rank: 1
等 级:新手上路
帖 子:13
专家分:5
注 册:2010-3-26
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:5 
解决一道题,有代码,求修改错误
1.17③ 已知k阶裴波那契序列的定义为
    f0=0,  f1=0,  ...,  fk-2=0,  fk-1=1;
    fn=fn-1+fn-2+...+fn-k,   n=k,k+1,...
试编写求k阶裴波那契序列的第m项值的函数算法,
k和m均以值调用的形式在函数参数表中出现。

要求实现下列函数:
Status Fibonacci(int k, int m, int &f);
/* 如果能求得k阶斐波那契序列的第m项的值f,则返回OK;*/
/* 否则(比如,参数k和m不合理)返回ERROR            */


代码

Status Fibonacci(int k, int m, int &f)
/* 求k阶斐波那契序列的第m项的值f    */
{  
int i,a[5000],sum,j;
sum=1;
j=0;
if(k<2||m<0) return ERROR;
if(m>0); if (m==k-1 || m==k) f=1;

else
{
for(i=0;i<k-2;i++)
a[i]=0;
a[k-1]=1;
a[k]=1;
for(i=k+1;i<=m;i++,j++)
{
a[i]=2*sum-a[i];
 sum=a[i];
 }
 f=a[m];
 }
 return OK;
 

可是不对 环境指明 这句有问题 请问怎么修改?
if(m>0); if (m==k-1 || m==k) f=1;
搜索更多相关主题的帖子: 代码 
2010-03-26 14:21
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:6 
if(m>0); if (m==k-1 || m==k) f=1; 去掉红色分号
        
2010-03-26 14:52
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:6 
没有仔细看算法,不过就语法来说,可以这样改!(最好多用{}以清晰程序结构)
if(m>0); if (m==k-1 || m==k) f=1; ==>if(m>0) if (m==k-1 || m==k) f=1;

★★★★★为人民服务★★★★★
2010-03-26 14:56
gerrytang
Rank: 1
等 级:新手上路
帖 子:13
专家分:5
注 册:2010-3-26
收藏
得分:0 
不行 ··· 这是一个作业系统的作业题来的 或者求代码了。。。题目由上 他有固定的格式
Status Fibonacci(int k, int m, int &f)
/* 求k阶斐波那契序列的第m项的值f    */
{
}
只能添加中间的 求更优算法
2010-03-26 14:58
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:0 
STUTAS  Fibonacci(int k, int m, int &f)
{
    int i,a[5000],sum,j;
    sum=1;
    if(k<2||m<0) return ERROR;
    if(m>0)
    {
        if (m==k-1 || m==k)
            f=1;
        else
        {
            for(i=0;i<k-2;i++)  //加了个等号
                a[i]=0;
            a[k-1]=1;
            a[k]=1;
            j = k-2;
            for(i=k+1;i<=m;i++,j++)
            {
                a[i]=2*sum-a[j];
                sum=a[i];
            }
            f=a[m];
        }
    }
    return OK;
}


[ 本帖最后由 ldg628 于 2010-3-27 00:41 编辑 ]
2010-03-26 18:06
lxk899
Rank: 2
等 级:论坛游民
帖 子:19
专家分:30
注 册:2010-3-25
收藏
得分:6 
学习,一下了啊!!!!
2010-03-26 18:28
快速回复:解决一道题,有代码,求修改错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014119 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved