个性化阅读
专注于IT技术分析

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;
 }

输出:

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

赞(0)
未经允许不得转载:srcmini » c语言中的斐波那契数列

评论 抢沙发

评论前必须登录!