24小时热门版块排行榜    

查看: 867  |  回复: 4

xin401

铁虫 (小有名气)

[求助] 关于fibonacci数列的一个问题,请教各位大虾!!! 已有2人参与

直接在main函数里实现此功能没有问题,但是利用函数即调用函数Fib如何实现,在Fib函数里不知道对a和b做如何处理,求助!!!
CODE:
/*
        以函数方式实现Fibonacci数列,F(0)=0,F(1)=1,以后各项为其前两项之和
*/
#include <stdio.h>
//int Fib(int i);
main()
{
        int i ,n;
        int a = 0;
        int b = 1;
        int c;
        printf("请输入所要显示的数列个数n:");
        scanf("%d",&n);
        for(i=0;i<n+1;i++){
                if(i == 0||i == 1){
                printf("F(%d) = %d\n",i,i);
                }else{
                        c = a + b;
                        a = b;
                        b = c;
                        printf("F(%d) = %d\n",i,c);
                }
        }
}
/*
int Fib(int i)
{
        int a ,b ,c;
        if(i == 0||i == 1){
                c = i;
        }else{
                c = a + b;
                a = b;
                b = c;
        }
        return(c);
}
*/

[ Last edited by jjdg on 2014-1-17 at 02:36 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jjdg: 金币+2, 感谢参与 2014-01-17 02:36:46
xin401: 金币+20, ★★★★★最佳答案, 多谢多谢 2014-01-17 14:59:00
很简单
CODE:
#include <stdio.h>
int Fib(int i);
int main()
{
        int i, n;
        int a = 0;
        int b = 1;
        int c;
        printf("请输入所要显示的数列个数n:");
        scanf("%d", &n);
        for (i = 0; i < n + 1; i++){
                if (i == 0 || i == 1){
                        printf("F(%d) = %d\n", i, i);
                }
                else{
                        c = a + b;
                        a = b;
                        b = c;
                        printf("F(%d) = %d\n", i, c);
                }
        }

        printf("%d\n", Fib(n));

        return 0;
}

int Fib(int i)
{
        int a, b, c;
        if (i == 0 || i == 1){
                c = i;
        }
        else{
                a = 0;
                b = 1;
                for (int j = 2; j <=i; ++j)
                {
                                c = a + b;
                                a = b;
                                b = c;
                }
        }
        return(c);
}

www.cvdelver.com
2楼2014-01-17 00:09:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

戴钢盔的猪头

木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
这个数列是用于线搜索的吧?似乎几十年没人用了,现在用的最多的好像是Armijo搜索,简单省事。

[ 发自手机版 http://muchong.com/3g ]
3楼2014-01-17 09:41:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxu2009

至尊木虫 (正式写手)

递归可能更好想,只是效率比较差:
CODE:
#include <stdio.h>
int main()
{
     int i ,n;
     printf("请输入所要显示的数列个数n:");
     scanf("%d",&n);
     for(i=0;i<n+1;i++)
         printf("%d\n", Fib(i));
     return 0;
}
int Fib(int i)
{
      if(i == 0||i == 1)
          return (1);
      else if(i>=2)  return(Fib(i-1)+Fib(i-2));
}

4楼2014-01-17 10:35:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xin401

铁虫 (小有名气)

引用回帖:
4楼: Originally posted by sxu2009 at 2014-01-17 10:35:24
递归可能更好想,只是效率比较差:

#include <stdio.h>
int main()
{
     int i ,n;
     printf("请输入所要显示的数列个数n:";
     scanf("%d",&n);
     for(i=0; ...

刚刚试了下,一楼正解,呵呵
5楼2014-01-17 15:05:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xin401 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +9 Ldrop2023 2026-08-13 9/450 2026-08-16 13:24 by wukun_007
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +32 医学老男孩 2026-08-13 72/3600 2026-08-16 13:15 by 医学老男孩
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +11 家与远方 2026-08-10 16/800 2026-08-16 10:28 by ray43
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +10 majunge000 2026-08-11 12/600 2026-08-16 08:18 by xli1984
[基金申请] 时间戳又变了8-15 +12 archvillain 2026-08-15 23/1150 2026-08-15 20:47 by foyo404
[基金申请] filecode=后面第一个是大写字母 +6 wangze12014 2026-08-14 7/350 2026-08-15 20:12 by gltch
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[硕博家园] 请教兼职经验 +3 是阿文鸭 2026-08-09 3/150 2026-08-14 12:07 by HER12025
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
信息提示
请填处理意见