算法学习之旅,中级篇(6)-–递归之斐波拉契数列

来源:互联网 发布:心理量表软件 编辑:程序博客网 时间:2024/06/05 18:29

介绍
斐波拉契数列,又称黄金分割数列,指的是这样一个数列:0,1,1,2,3,5,8,13,21,34。
分析
本质特征是A[n]=A[n-1]+A[n-2],n>2
代码

#include<stdio.h>#include<stdlib.h>//递归写法int f(int n){    if(n==1 || n==2)        return 1;    else        return f(n-1)+f(n-2);}int main(){    int n,i;    printf("请输入数列个数n:");    while(scanf("%d",&n)!=EOF)   {        for(i=1;i<=n;i++)            printf("%d ",f(i));        printf("\n");        printf("请输入数列个数n:");    }        system("pause");    return 0;}//非递归#include<stdio.h>#include<stdlib.h>void main(){    int n,A[3];    printf("请输入数列的个数:");    while(scanf("%d",&n)!=EOF)    {        A[0]=0;        A[1]=1;        A[2]=0;        printf("数列为:%d %d ",A[0],A[1]);        for(int i=2;i<n;i++)        {            A[2]=A[0]+A[1];            printf("%d ",A[2]);            A[0]=A[1];            A[1]=A[2];        }        printf("\n请输入数列的个数:");    }    system("pause");}

遇到的问题
没有问题。

阅读全文
0 0
原创粉丝点击