C中的斐波那契数列:对于斐波那契数列,下一个数字是前两个数字的和,例如0、1、1、2、3、5、8、13、21等。斐波那契数列的前两个数字为0和1。
编写fibonacci系列程序的方法有两种:
1. 无递归C语言的斐波那契数列
让我们看一下c中不利用递归的fibonacci系列程序。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include<stdio.h> int main() {    int n1=0, n2=1, n3, i, number;    printf("Enter the number of elements:");    scanf("%d", &number);    printf("How many numbers print:%d\n",number);    printf("\n%d %d", n1, n2);//printing 0 and 1   for(i=2;i<number;++i)//loop starts from 2 because 0 and 1 are already printed   {      n3=n1+n2;      printf(" %d", n3);      n1=n2;      n2=n3;    }     return 0; } | 
结果
| 1 2 3 4 | Enter the number of elements:25 How many numbers print:25 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 | 
2. Fibonacci系列在C中使用递归
我们来看一下使用递归的c中的fibonacci系列程序。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include<stdio.h> void printFibonacci(int n){      static int n1=0, n2=1, n3;      if(n>0){      n3 = n1 + n2;      n1 = n2;      n2 = n3;      printf("%d ", n3);      printFibonacci(n-1);     } } int main(){     int n;     printf("Enter the number of elements: ");     scanf("%d", &n);     printf("Fibonacci Series: ");     printf("%d %d ", 0, 1);     printFibonacci(n-2);//n-2 because 2 numbers are already printed     return 0; } | 
| 1 2 | Enter the number of elements: 19 Fibonacci Series: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 | 
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!
