| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2430 人关注过本帖
标题:输出Fibonacci数列中的前N项(从2开始输出的头3个数0 1 1 没有输出)
只看楼主 加入收藏
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
结帖率:99.76%
收藏
已结贴  问题点数:20 回复次数:26 
输出Fibonacci数列中的前N项(从2开始输出的头3个数0 1 1 没有输出)
程序代码:
#include <stdio.h>

#define  max 50

void char_add(char* a,char* b,char* c)
{
    int ia[max]={0};
    int ib[max]={0};
    int ic[max]={0};
    int flag=0,flag2=0;
    int i,j;
    for(i=0;i<max;i++)
    {
        if(a[i]=='\0') ia[i]=0; else  ia[i]=a[i]-'0';
        if(b[i]=='\0') ib[i]=0; else  ib[i]=b[i]-'0';
    }
    //加法运算这个循环没啥问题了,不需要再改进了
    for(i=max-1;i>=0;i--)
    {
        ic[i]=ia[i]+ib[i]+flag;
        if(ic[i]>9) {flag=1;ic[i]-=10;} else flag=0;
    }
       for(j=0;j<max;j++) {c[j]=ic[j]+'0';}
       c[j]='\0';
}

int main()
{

 
    char a[max]={'\0'};
    char b[max]={'\0'};
    char c[max]={'\0'};
    int i,j;
    a[max-1]='1';
    b[max-1]='1';
    j=0;
    while(j<48)
    {
        char_add(a,b,c);
        for(i=0;i<max;i++)
        {
            a[i]=b[i];
            b[i]=c[i];
        }
        j++;
        printf("%s\n",c);
    }
    return 0;
}


[ 本帖最后由 wp231957 于 2012-12-6 16:02 编辑 ]
搜索更多相关主题的帖子: max color 
2012-12-05 21:08
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
计算了接近500个Fibonacci数列  用时不到1秒  却是挺快的

DO IT YOURSELF !
2012-12-05 21:14
一个孩子
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:954
注 册:2012-10-1
收藏
得分:4 
要不要每次都这么变态,兄台

重要的不是结果,是求一个结果的过程,哪怕千难万难,当你有想要的结果时,你已走的很远
2012-12-05 21:17
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用一个孩子在2012-12-5 21:17:56的发言:

要不要每次都这么变态,兄台
不懂  咋变态了呢

DO IT YOURSELF !
2012-12-05 21:18
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:12 
第484项
2012-12-05 22:42
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:4 
求鉴赏


[fly]存在即是合理[/fly]
2012-12-05 22:44
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
谢谢小曹帮忙测试

DO IT YOURSELF !
2012-12-06 07:32
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
程序代码:
                                                                                                    2
                                                                                                    3
                                                                                                    5
                                                                                                    8
                                                                                                   13
                                                                                                   21
                                                                                                   34
                                                                                                   55
                                                                                                   89
                                                                                                  144
                                                                                                  233
                                                                                                  377
                                                                                                  610
                                                                                                  987
                                                                                                 1597
                                                                                                 2584
                                                                                                 4181
                                                                                                 6765
                                                                                                10946
                                                                                                17711
                                                                                                28657
                                                                                                46368
                                                                                                75025
                                                                                               121393
                                                                                               196418
                                                                                               317811
                                                                                               514229
                                                                                               832040
                                                                                              1346269
                                                                                              2178309
                                                                                              3524578
                                                                                              5702887
                                                                                              9227465
                                                                                             14930352
                                                                                             24157817
                                                                                             39088169
                                                                                             63245986
                                                                                       
删掉了部分演示数据,原因  对于电脑慢的机器  打开这么长的文本是种折磨啊

[ 本帖最后由 wp231957 于 2012-12-6 11:00 编辑 ]

DO IT YOURSELF !
2012-12-06 08:10
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
帖子编辑框最多只能输入30000字  所以只贴出了一部分数据

DO IT YOURSELF !
2012-12-06 08:11
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
那我也写一段和万哥交流吧。输出比较多,建议输出到文件再查看。

这段代码稍加改动即可完成原来那个朋友要做的题目。
程序代码:
#include<stdio.h>

#define MAX_N    500
#define MAX_LEN    128

int main()
{
    char f[MAX_N][MAX_LEN] = {"1","1"};
    int a[MAX_LEN] = {1}, b[MAX_LEN] = {1}, c[MAX_LEN] = {};
    int *p = c, *p1 = b, *p2 = a, *pt;
    int i, j, t;
   
    for(i = 2; i < MAX_N; pt = p2, p2 = p1, p1 = p, p = pt, i++)
    {
        for(t = j = 0; j < MAX_LEN; t = p[j] > 9 ? p[j] -= 10, 1 : 0, j++) p[j] = p1[j] + p2[j] + t;
        for(j--; !p[j]; j--);
        for(t = 0; j >= 0; f[i][t++] = p[j--] + '0');
    }
           
    for(i = 0; i < MAX_N; printf("F[%03d] = %s\n", i, f[i++]));
   
    return 0;
}

重剑无锋,大巧不工
2012-12-06 10:45
快速回复:输出Fibonacci数列中的前N项(从2开始输出的头3个数0 1 1 没有输出)
数据加载中...
 
   



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

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