c语言中的斐波那契数列

本文概述

  • 无递归C语言的斐波那契数列
  • Fibonacci系列在C中使用递归
C中的斐波那契数列:对于斐波那契数列,下一个数字是前两个数字的和,例如0、1、1、2、3、5、8、13、21等。斐波那契数列的前两个数字为0和1。
编写fibonacci系列程序的方法有两种:
  • 斐波那契数列,无递归
  • 斐波那契数列使用递归
无递归C语言的斐波那契数列让我们看一下c中不递归的fibonacci系列程序。
#include< stdio.h> int main() { int n1=0, n2=1, n3, i, number; printf("Enter the number of elements:"); scanf("%d", & 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; }

输出:
Enter the number of elements:15 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

Fibonacci系列在C中使用递归我们来看一下使用递归的c中的fibonacci系列程序。
#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; }

【c语言中的斐波那契数列】输出:
Enter the number of elements:15 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

    推荐阅读