精华内容
下载资源
问答
  • c语言斐波那契数列前20
    万次阅读 多人点赞
    2018-10-19 08:42:47

    //求Fibonacci数列的前20项

    #include "stdio.h"
    int main(){
    
        int i,j;
    
        int f[20] = {1,1};//赋值数列前两项
    
        for(i = 2;i < 20; i++){
    
            f[i] = f[i-1] + f[i-2]; //根据数列的定义,进行计算(N项的结果等于 (n-1)+(n-2))
            
        }
    
        for(j = 0 ; j < 20;j++){
    
            //********5个一行**************//
            if(j % 5 == 0) printf("\n");
    
            printf("%d\t",f[j]);
        }
    return 0;
    }

    大家可以访问我的个人网站:https://www.yykjc.cn  方便大家一起讨论

    更多相关内容
  • C语言斐波那契数列前20个数

    万次阅读 多人点赞 2021-07-24 00:16:06
    细心观察就会发现这个数列从第3项开始,每一项都等于两项之和 用数学方式表示为: Fn=F(n-1)+F(n-2) n>=3 既然知道了这个规律那么这个问题就很简单了。 针对与这个问题 我们有两种方法可以解决: 循环 ...

    环境:Visual Studio 2019

    斐波那契数列:

    又称黄金分割数列,因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为兔子数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……

    细心观察就会发现这个数列从第3项开始,每一项都等于前两项之和

    用数学方式表示为:

    Fn=F(n-1)+F(n-2)      n>=3

    既然知道了这个规律那么这个问题就很简单了。


    针对与这个问题

    我们有两种方法可以解决:

    1. 循环
    2. 数组

    循环:

    #include<stdio.h>
    
    int main() {
    int f1 = 1, f2 = 1;
    	for ( int i = 1; i <=10; i++ )
    	{
    		printf( "%12d %12d", f1, f2 )
            //当输出4个数后换行
    		if (i%2==0 ) {
    			printf( "\n" );
    		}
            //计算下一个数的值,并存放到f1中
    		f1 = f1 + f2;
            //计算下两个的值,并存放到f2中
    		f2 = f2 + f1;
    	}
    	printf( "\n" );
    	return 0;
    }

     if语句的作用是使输出4个数后换行。

    i是循环变量,当i为偶数时换行,由于每次循环要输出2个数(f1,f2)

    因此i为偶数也就是已经输出了4个数,输出四个数之后实现换行。

    效果:


    数组:

    在之前的循环解决这个问题中,我们定义了两个变量,程序可以顺序计算并输出各个数。

    但不能在内存中保存这些数。假如用户不想要求整个数列,而只想要求数列中的某个值

    数组就可以完美解决。

    每一个数组元素代表数列中的一个数,依次求出各数并存放在相应的数组元素中即可。

    代码:

    #include<stdio.h>
    
    int main(){
        //等同于{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
    	int f [ 20 ] = { 1,1 };
    	for ( int i = 2; i < 20; i++ )
    		//计算f[2]-f[19]的值
    		f [ i ] = f [ i - 2 ] + f [ i - 1 ];
    	for ( int i = 0; i < 20; i++ )
    	{
    		//控制每行输出4个数后换行
    		if ( i%4==0 )
    		{
    			printf( "\n" );
    		}
    		printf( "%12d", f [ i ] );
    	}
    	printf( "\n" );
        return 0;
    }

     因为斐波那契数列的特性,我们指定了f[0]和f[1]的值为1,剩余值为0

    根据数组的特点,由前面两个元素的值可计算出第3个元素的值

    f[2]=f[0]+f[1]

    效果:


    实际上这两个代码运行起来的效果是一样的

    可能看各个的运行效果不太直观

    两个方法:

    #include<stdio.h>
    int main() {
    	//用数组来处理斐波那契数列问题
    	//等同于{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
    	int f [ 20 ] = { 1,1 };
    	for ( int i = 2; i < 20; i++ )
    		//计算f[2]-f[19]的值
    		f [ i ] = f [ i - 2 ] + f [ i - 1 ];
    	for ( int i = 0; i < 20; i++ )
    	{
    		//控制每行输出4个数后换行
    		if ( i%4==0 )
    		{
    			printf( "\n" );
    		}
    		printf( "%12d", f [ i ] );
    	}
    	printf( "\n" );
    	//用循环来处理斐波那契数列问题
    	int f1 = 1, f2 = 1;
    	for ( int i = 1; i <=10; i++ )
    	{
    		printf( "%12d %12d", f1, f2 );
    		if (i%2==0 ) {
    			printf( "\n" );
    		}
    		f1 = f1 + f2;
    		f2 = f2 + f1;
    	}
    	printf( "\n" );
    	
    
    	return 0;
    }

    效果:

    展开全文
  • C语言斐波那契数列

    万次阅读 2021-11-26 10:33:27
    斐波那契数列Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、...

             斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……。在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1, F(2)=1, F(n)=F(n - 1)+F(n - 2)(≥3,∈ N*),我们用C语言来实现它: 

    最不适用于用递归函数的经典题目:斐波那契数列

    第一种 递归法:斐波那契数列的规律为:Fibon(n) = Fibon(n-1) + Fibon(n-2)  

     我们先看一个求位数少的(代码1),这个很快就算出来了。再看一个位数多的(代码2)

    代码1:

    #include<stdio.h>
    int Fibon(int n)
    {
       if (n == 1|| n == 2)
       {
    	   return 1;
       }
       else
       {
    	   return Fibon(n-1)+ Fibon(n-2);
       }
    }
    int main()
    {
    	for (int i = 1; i <= 10; i++)
    	{
    		printf("%d ", Fibon(i));
    	}
    	return 0;
    }

    调试结果:

    代码2:

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

    调试结果如下:

    此时的结果就出的很慢,原因是什么?因为它超出堆栈的默认1MB的大小所以就结果出的很慢。

    对于斐波那契数列我们最好还是使用for循环来写。

    第二种 for 循环:(简单高效)

    #include<stdio.h>
    int Fibon1(int n)
    {
    	int f1 = 1;//1//2
    	int f2 = 1;//2//3
    	int f3 = 1;//2//3
    
    	for(int i=2; i<n; i++)
    	{
    		f3 = f1+f2;
    		f1 = f2;
    		f2 = f3;
    	}
    	return f3;
    }
    int main()
    {
    	for (int i = 1; i <= 10; i++)
    	{
    		printf("%d ", Fibon1(i));
    	}
    	return 0;
    }

    调试结果如下:只要求的斐波那契数超过40,for循环都可一瞬,而递归的方法就会慢很多。

    展开全文
  • C语言 斐波那契数列

    2022-06-10 20:07:58
    斐波那契数列Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、...

      斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(≥ 2,∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。 ---百度百科

    通俗的讲就是从第三项开始,后面一项等于前两项的和。

    #include<stdio.h> // 后一项等于前两项的和
    int main()
    {
        int i , n;
        int arr[10];
        arr[1] = 1;
        arr[2] = 1; 
        scanf("%d",&n);
        for(i = 3; i <= 10; i++)
        {
            arr[i] = arr[i-2] + arr[i-1]; 
        }
        for(int j = 3; j <= n; j++)
        {
            printf("%d ",arr[j]);
        }
        return 0;
    }

    运行结果为:

    8
    2 3 5 8 13 21

    那么前8项为1,1,2,3,5,8,13,21

    用函数进行封装:

    #include<stdio.h>
    int Fib(int n)
    {
        if(n == 1 || n == 2)
        {
            return 1;
        }
        else
        {
            return (Fib(n-1)+Fib(n-2));
        }
    }
    int main()
    {
        int n;
        scanf("%d",&n);
        printf("%d",Fib(n));
        return 0;
    }

    运行结果为:

    8
    21

    则第八项为21。

    展开全文
  • =2时,f(i)=f(i-1)+f(i-2)尝试生成斐波拉契数列前20项并输出。 二、题目分析 已知数列的第一和第二项的值,第三项的值刚好是第一第二项的和,f(0),f(1)里面的0,1刚好对应数组下标的值,因此我们把这两个值传入...
  • c语言中,以vc为例利用数组求斐波那契数列前20项的具体步骤如下:1、首先,打开vc;2、点击文件、新建;3、选择win32 console application 并在右侧输入工程的名字和地址,确定;4、选择一个空的工程,完成;5、...
  • 主要介绍了C语言数据结构递归之斐波那契数列的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下
  • 斐波那契数列是什么?
  • C语言斐波那契数列前10项

    千次阅读 2022-04-14 14:41:01
    问题分析:(1)用两个变量表示两项。x1=1和x2=1. (2)利用已知的两个值x1和x2产生的新的数据项x.x=x1+x2。(3)产生新数据项后,变量x1和x2的值需要更新,为计算下一个新的数据项做准备。令x1=x2和x2=x,(4)重复(2...
  • 实验目的与要求:掌握一维数组的定义、初始化及其引用方法,掌握使用循环结构处理一维...斐波那契数列为:1、1、2、3、5、8、13……,其有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。...
  • fibonacci数列前20个数之和

    千次阅读 2021-05-23 01:07:54
    斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、……这个数列从第三项开始,每一项都等于两项之和.#includeintmain(){inta[20]={1,用C语言数组编写一个程序实现求Fibonacci数列n个数.什么时候要?...
  • 斐波那契数列C语言非递归实现
  • 推荐回答一、斐波那契数列指的是这样一...这个数列从第3项开始,每一项都等于两项之和。二、斐波那契数列中的斐波那契数会经常出现在我们的眼前——比如松果、凤梨、树叶的排列、某些花朵的花瓣数,黄金矩形、黄金...
  • 主要介绍了C语言实现Fibonacci数列递归,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • c语言编程 求Fibonacci数列前20项 , 用C语言编程 编一个求Fibonacci数列前n项和程序。c语言编程 求Fibonacci数列前20项 , 用C语言编程 编一个求Fibonacci数列前n项和程序。匿名网友:#include <stdio.h>int ...
  • 题目:输出前20斐波那契数列的值。 分析题目知:这题可借用数组解答较方便(利用数组存储数据的功能)。详细见解我就放在代码中了。 代码如下: #include <stdio.h> int main (void) { int i, f[21],...
  • C语言斐波那契数列

    2022-03-09 15:27:20
    //可能会报警告,但是程序可以成功运行 斐波那契数列(递归实现): 斐波那契数列的实现在编程中属于典型的问题,也就是兔子数列,右面数的值等于两位的和,默认第一位和第二位为1。前面几位的值为:1、1、2、3、5...
  • 自定义函数 fbi()此函数求x项的斐波那契数 int fbi( int x)//斐波那契 { ...int sum_fbi(int x)//此函数求斐波那契数列前x项的和 int sum_fbi(int x)//求和 { if (x <= 0) return 0; ...
  • #include"stdio.h" main() { int a[40],i; a[0]=a[1]=1; for(i=2;i<40;i++) a[i]=a[i-1]+a[i-2]; for(i=0;i<20;i++) printf("%d ",a[i]); }
  • c语言斐波那契数列

    2013-12-02 21:41:13
    使用递归和非递归的算法,分别计算斐波那契数列,并利用系统时间函数对每一个n值的两种计算方法计时
  • 斐波那契数列Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34 、...
  • C语言实现斐波那契数列

    万次阅读 多人点赞 2019-01-10 19:56:55
    C语言实现斐波那契数列  C语言对应代码如下:   #include&lt;stdio.h&gt; int fun(int x){ if(x == 1)return 1; if(x == 2) return 1; return fun(x-1) + fun(x-...
  • 二、通过对C语言进行研究分析,总结出其主要特点如下: 1、简洁的语言: C语言包含有各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且多以小写字母为主,对许多不必要的部分进行了精简。...
  • 编程输出前20项的斐波那契数列 3种不同的实现方法。 一:数组累加 二:变量覆盖(挨个值覆盖) 三:变量覆盖(两个值一起覆盖)
  • 【代码】C语言:输出斐波那契数列前二十项。
  • C语言斐波那契数列(附完整源码)

    千次阅读 2021-02-25 10:14:13
    斐波那契数列 斐波那契数列完整源码(定义,实现,main函数测试) 斐波那契数列完整源码(定义,实现,main函数测试) #include <stdio.h> #include <stdlib.h> int fib(int n) { // Out of Range ...
  • 文章目录fibonacci numbers简单介绍详解代码所示 fibonacci numbers简单介绍 ...斐波那契数列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加,在数学上,斐波那契数列以如下被以递归的方法定义:F0=0
  • 剑指Offer_编程题——斐波那契数列题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39具体要求:时间限制: C/C++ 1秒,其他语言2秒空间限制: C...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,311
精华内容 4,524
关键字:

c语言斐波那契数列前20

友情链接: 03?.zip