NO.1

迭代法

标签:通俗、易懂

思路:先打印第一项、再在循环里面执行fib=fib1+fib2,把fib2赋给fib1,把fib赋给fib2,每行5个可使用if函数(循环次数对5取余)。

#include <stdio.h>

main()

{

long fib1=0,fib2=1,fib=1;

int i;

printf("%ld\t",fib);

for(i=2;i<=20;i++)

{

fib=fib1+fib2;

printf("%ld\t",fib);

fib1=fib2;

fib2=fib;

if(i%5==0)

printf("\n");

}

getch();

}

NO.2

加减法

标签:代码少,不易理解

思路:

i n fib
1 1 1
2 3 1
3 5 3
4 8 8

每次得出下一个数,再通过赋值赋给fib

#include<stdio.h>
main()
{
   int fib=0,n=1,i;
   for(i=1;i<=20;i++)
   {
      n+=fib;
   fib=n-fib;
   printf("%d\t",fib);
   if(i%5==0)
    printf("\n");
   }
   getch();
}

NO.3

数组法

标签:代码少,最易理解

思路:先打印前两项,后一项等于前两项之和。

#include<stdio.h>
main()
{
 long fib[21];
 int i;
 fib[1]=1;
 fib[2]=1;
 printf("%5ld\t%5ld\t",fib[1],fib[2]);
 for(i=3;i<=20;i++)
 {fib[i]=fib[i-1]+fib[i-2];
 printf("%5ld\t",fib[i]);
 if(i%5==0)
  printf("\n");
 }
 getch();
}

拓展,动态数组法

NO.1动态数组设置方法

#include <stdio.h>
#include <stdlib.h>
main()
{
int num,*p=0,i;
printf("输入数组元素个数:");
scanf("%d",&num);
p=(int*)malloc(sizeof(int)*num);
for(i=0;i<num;i++)
{
scanf("%d",&p[i]);
}
for(i=0;i<num;i++)
{
printf("%d\n",p[i]);
}
}

NO.2

动态数组法的Fibonacci数列

#include <stdio.h>
#include <stdlib.h>
main()
{
int num,*fib=0,i;
printf("输入要显示元素个数:");
scanf("%d",&num);
fib=(int*)malloc(sizeof(int)*num);
fib[1]=1;
fib[2]=1;
printf("%8ld\t%8ld\t",fib[1],fib[2]);
 for(i=3;i<=num;i++)
 {fib[i]=fib[i-1]+fib[i-2];
 printf("%8ld\t",fib[i]);
 if(i%5==0)
  printf("\n");
 }
 getch();
}

相关截图

打印Fibonacci数列方法汇总(前20项,每行5个)的更多相关文章

  1. Java50道经典习题-程序20 求前20项之和

    题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和.分析:请抓住分子与分母的变化规律.三个连续分数之间的规律是:上两个分子之和等于第三个分数的分子 ...

  2. JAVA 基础编程练习题20 【程序 20 求前 20 项之和】

    20 [程序 20 求前 20 项之和] 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前 20 项之和. 程序分析:请抓住分子与分母的变化规律. pac ...

  3. Java例题_20 前20项之和!

    1 /*20 [程序 20 求前 20 项之和] 2 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前 20 项之和. 3 程序分析:请抓住分子与分母的变 ...

  4. c - 2/1, 3/2, 5/3, 8/5, 13/8...前20项的和

    double pres(const int n) { ; //分子. ; //分母. ; double tmp; ; i <= n; i++) { sum += (numerator / den ...

  5. wikioi 1973 Fibonacci数列【输出第N项的值】

    /*===================================== 1978 Fibonacci数列 3 题目描述 Description 斐波纳契数列是这样的数列: f1 = 1 f2 ...

  6. 【Python3练习题 019】 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

    后一个分数的分子=前一个分数的分子+分母,后一个分数的分母=前一个分数的分子,循环个20次就有结果.注意,假设分子为a,分母为b,虽然 a = a + b, 但此时a已经变成 a+b 了,所以再给b重 ...

  7. Fibonacci数列小程序

    Fibonacci数列小程序 问题分析:Fibonacci数列特征是前两项数均为1,从第三项起,前两项的和为第三项的数的数值用公式归纳起来为:f1=f2=1.f1=f1+f2.f2=f1+f2. 程序 ...

  8. 常系数线性递推的第n项及前n项和 (Fibonacci数列,矩阵)

      (一)Fibonacci数列f[n]=f[n-1]+f[n-2],f[1]=f[2]=1的第n项的快速求法(不考虑高精度). 解法: 考虑1×2的矩阵[f[n-2],f[n-1]].根据fibon ...

  9. fibonacci数列的性质和实现方法

    fibonacci数列的性质和实现方法 1.gcd(fib(n),fib(m))=fib(gcd(n,m)) 证明:可以通过反证法先证fibonacci数列的任意相邻两项一定互素,然后可证n>m ...

随机推荐

  1. 令人眼前一亮的下拉式终端 Tilda & Guake

    前言 老夫是 Linux 的老用户. 大一的时候某不方便透露姓名的校内组织给了一个 Fedora 13 的安装光盘,然后老夫学会了重装 Windows. 大二的时候知道了 Ubuntu ,开始在虚拟机 ...

  2. 好公司、行业、领导?应届生应根据什么选offer?

    两个年轻人大学毕业了,一个去了收入更高的大企业工作,一个去了收入较低的小作坊式工厂工作.你们说他们谁的青春时光最能升值呢?表面上看应该是大企业,可是大企业是做马车制造的,小作坊是做汽车的.现在人们都知 ...

  3. 基于Asp.Net Core Mvc和EntityFramework Core 的实战入门教程系列-4

    来个目录吧: 第一章-入门 第二章- Entity Framework Core Nuget包管理 第三章-创建.修改.删除.查询 第四章-排序.过滤.分页.分组 第五章-迁移,EF Core 的co ...

  4. 1708: [Usaco2007 Oct]Money奶牛的硬币

    1708: [Usaco2007 Oct]Money奶牛的硬币 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 544  Solved: 352[Submi ...

  5. kali linux /etc/apt/source.list

    this list is very important , you can not download what you want like fictx , flash-plugin , vm-tool ...

  6. CDMA sid, nid, bid 含义解释

    copyright@ celldb.cc SID 是系统识别码,每个地级市只有一个sid,是唯一的. NID是网络识别码,由各本地网管理,也就是由地级分公司分配.每个地级市可能有1到3个nid. BI ...

  7. keepalive配置文件详解

    第一部分:全局定义块 1.email通知.作用:有故障,发邮件报警. 2.Lvs负载均衡器标识(lvs_id).在一个网络内,它应该是唯一的. 3.花括号“{}”.用来分隔定义块,因此必须成对出现.如 ...

  8. linux—粘滞位的设置

    粘滞位(Stickybit),或粘着位,是Unix文件系统权限的一个旗标.最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件.如果不为目录设置粘滞位,任 ...

  9. Akamai在内容分发网络中的算法研究(翻译总结)

    作者 | 钱坤 钱坤,腾讯后台开发工程师,从事领域为流媒体CDN相关,参与腾讯TVideo平台开发维护. 原文是<Algorithmic Nuggets in Content Delivery& ...

  10. js,jq获取元素位置属性及兼容性写法

    网页被卷起来的高度/宽度 document.documentElement.scrolltop //火狐 和 其他浏览器 document.body.scrolltop   //ie,谷歌浏览器和没有 ...