精华内容
下载资源
问答
  • C语言斐波那契数列

    2020-09-15 16:16:58
    C语言斐波那契数列 求斐波那契数列的前40个数。这个数列有如一下特点:第1,2两个数是1,1.从第三个数开始,该数是其前两个数之和。即该数列为1,1,2,3,5,8,13,… 代码如下 #include <stdio.h> int Fibon1(int ...

    C语言斐波那契数列

    求斐波那契数列的前40个数。这个数列有如一下特点:第1,2两个数是1,1.从第三个数开始,该数是其前两个数之和。即该数列为1,1,2,3,5,8,13,…

    代码如下

    #include <stdio.h>
    
    int Fibon1(int x){
    	if(x<=2){
    		return 1;
    	}else{
    		return Fibon1(x-1)+Fibon1(x-2);
    	}
    }
    int main() {
    	int Fibon1(int x);
    	int ret,i;
    	for(i=1;i<=40;i++){
    		ret=Fibon1(i);
    		printf("%d ",ret);
    	}
      	return 0;
    }
    

    运行结果:
    在这里插入图片描述

    展开全文
  • 自博客园转载:1.递归效率低,除了最后一个数,每个数都被重复计算若干次1: //递归实现2: public static int Fib1(int n)3: {4: if (n < 3)5: {6: return 1;7: }8: else9: {10: return Fib1(n - 1) + Fib1(n - 2)...

    自博客园转载:

    1.递归

    效率低,除了最后一个数,每个数都被重复计算若干次

    1: //递归实现

    2: public static int Fib1(int n)

    3: {

    4: if (n < 3)

    5: {

    6: return 1;

    7: }

    8: else

    9: {

    10: return Fib1(n - 1) + Fib1(n - 2);

    11: }

    12: }

    2.迭代

    效率最高,时间复杂度O(n),空间复杂度是O(1)

    1: //迭代实现

    2: public static int Fib2(int n)

    3: {

    4: if (n < 3)

    5: {

    6: return 1;

    7: }

    8: else

    9: {

    10: int first = 1;

    11: int second = 1;

    12: int temp = 0;

    13:

    14: for (int i = 0; i < n - 2; i++)

    15: {

    16: temp = first + second;

    17: first = second;

    18: second = temp;

    19: }

    20: return temp;

    21: }

    22: }

    3.数组

    效率一般,比递归快,时间复杂度O(n),空间复杂度是O(n)

    1: //数组实现

    2: public static int Fib3(int n)

    3: {

    4: List list = new List();

    5: list.Add(1);

    6: list.Add(1);

    7: int count = list.Count;

    8:

    9: while (count < n)

    10: {

    11: list.Add(list[count - 2] + list[count - 1]);

    12: count = list.Count;

    13: }

    14:

    15: return list[count - 1];

    16: }

    4.队列

    时间复杂度O(n),空间复杂度是O(1)

    1: //队列实现

    2: public static int Fib4(int n)

    3: {

    4: Queue queue = new Queue();

    5: queue.Enqueue(1);

    6: queue.Enqueue(1);

    7:

    8: for (int i = 0; i <= n - 2; i++)

    9: {

    10: queue.Enqueue(queue.AsQueryable().First() + queue.AsQueryable().Last());

    11: queue.Dequeue();

    12: }

    13: return queue.Peek();

    14: }

    展开全文
  • C语言斐波那契序列三种方法 #include #include #define enoughsize 100 //最大队列长度 typedef struct { int *base; //初始化的动态分配存储空间 int front; //头指针,若队列不空,指向队列头元素 int rear; //...
  • c语言斐波那契数列

    2013-12-02 21:41:13
    使用递归和非递归的算法,分别计算斐波那契数列,并利用系统时间函数对每一个n值的两种计算方法计时
  • C语言 斐波那契数列

    2021-02-09 16:35:08
    ```c #include <stdio.h> #include <stdlib.h> int main() { int count,display=0,n,t1=1,t2=0; printf("请输入数组长度:\n"); scanf("%d",&n); count=1; while(count<... .
    
    ```c
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int count,display=0,n,t1=1,t2=0;
        printf("请输入数组长度:\n");
        scanf("%d",&n);
        count=1;
        while(count<=n)
        {
            printf("%d ",display);
            display=t1+t2;
            t1=t2;
            t2=display;
            ++count;
        }
        system("pause");
        return 0;
    }
    
    
    
    展开全文
  • 计算第n个斐波那契数列的值 #include<stdio.h> unsigned long int fibonacci(unsigned int n) { unsigned long int f1=0,f2=1,f; int i; for(i=2;i<n;i++) { f=f1+f2; f1=f2; f2=f; } return(f...

    计算第n个斐波那契数列的值

    #include<stdio.h>
    unsigned long int fibonacci(unsigned int n)
    {
    	unsigned long int f1=0,f2=1,f;
    	int i;
    	for(i=2;i<n;i++)
    	{
    		f=f1+f2;
    		f1=f2;
    		f2=f;
    	}
    	return(f);
    }
    
    void main()
    {
    	unsigned long int y;
    	unsigned int n;
    	printf("你想知道第几个斐波那契数:");
    	scanf("%d",&n);
    	y=fibonacci(n);
    	if(n==1)
    		printf("第1个斐波那契数为:0\n");
    	else if(n==2)
    		printf("第二个斐波那契数为:1\n");
    	else	
    		printf("第 %d 个斐波那契数为:%ld\n",n,y);
    }
    

    用数组计算前20个斐波那契数列的值

    #include<stdio.h>
    int main()
    {
    	int i,f[20]={1,1};
    	for(i=2;i<20;i++)
    		f[i]=f[i-2]+f[i-1];
    		
    	for(i=0;i<20;i++)
    		{
    			if(i%5==0)
    				printf("\n");
    			printf("%12d",f[i]);
    		}
    
    	return 0;
    }
    
    展开全文
  • 斐波那契数列 斐波那契数列完整源码(定义,实现,main函数测试) 斐波那契数列完整源码(定义,实现,main函数测试) #include <stdio.h> #include <stdlib.h> int fib(int n) { // Out of Range ...
  • C语言斐波那契的递归函数 Fibonacci

    千次阅读 2017-12-05 20:52:48
    #include #include /* 斐波那契的递归函数 */ int Fibonacci(int i) { if(i) return 1; else if(i==2) return 2; else return Fibonacci(i-1) + Fibonacci(i-2); } int main(int a
  • 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、...
  • printf("第%d个斐波那契数为%d\n",num,ret); system("pause"); return 0; } //用数组保存实现 #define _CRT_SECURE_NO_WARNINGS 1 #include #include int fibc(int n) { int arr[50]={0};//缺点:数组大小...
  • 今天来介绍如何用C语言来输出斐波那契数列的前十项 #include "stdio.h" int fib(int n){ return n==1||n==2?n=1:fib(n-1)+fib(n-2); } void main(){ for(int i=1;i<=10;i++) printf("%3d",fib(i)); } 让我们...
  • 自博客园转载: 1.递归 效率低,除了最后一个数,每个数都被重复计算若干次 1: //递归实现 2: public static int Fib1(int n) 3: { 4: if (n ) 5: { 6: return 1; 7: } ... 9:
  • C语言打印斐波那契数列,具体的个数由用户输入。 我们知道斐波那契数列的规律是从第三个数开始,它数值是前2个的合计。实现的代码如下:#include #include int main(){int i;int n = 1;int m = 1;int sum;int count;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,364
精华内容 545
关键字:

c语言斐波那契

c语言 订阅