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. jquery 日期获取

    来自:http://blog.csdn.NET/liujun198773/article/details/7554628  感谢 $(function(){ var mydate = new Date ...

  2. [LeetCode]Rotate Image(矩阵旋转)

    48. Rotate Image     Total Accepted: 69437 Total Submissions: 198781 Difficulty: Medium You are give ...

  3. ASP日期格式化函数

    Public Function GetFormatDate(DateAndTime, para)On Error Resume NextDim y, m, d, h, mi, s, strDateTi ...

  4. Flume-ng源码解析之Source组件

    如果你还没看过Flume-ng源码解析系列中的启动流程.Channel组件和Sink组件,可以点击下面链接: Flume-ng源码解析之启动流程 Flume-ng源码解析之Channel组件 Flum ...

  5. Java反射机制深度剖析

    版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! Java反射机制是Java语言中一种很重要的机制,可能在工作中用到的机会不多,但是在很多框架中都有用到这种机制.我们知道Java是一门静态 ...

  6. java Pattern和Matcher详解

    结论:Pattern与Matcher一起合作.Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持. 单独用Pattern只能使用Pattern.matcher(String ...

  7. git merge 冲突

    当前分支为 master 然后操作时: git merge dev 发现有文件冲突. 当我们倾向于使用dev 分支的代码时,可以使用以下命令: git checkout --theirs src/ma ...

  8. C中运算符优先级

    总体规则: 特殊运算符>单目运算符>双目运算符>三目运算符>赋值运算符>逗号运算符 只有单目运算符是右结合,其余的均为左结合

  9. Android使用Sugar ORM创建数据库报no such table:...的解决方法

    在学习使用Android开源框架Sugar ORM时,只是做了开始的创建数据库的操作就报出如下的异常信息 android.database.sqlite.SQLiteException: no suc ...

  10. Eclipse集成Tomcat教程

    (初学者都会问一个问题,就是Eclipse好用还是Myeclipse好用.好吧,这个问题我昨晚才刚刚问完,哈哈,因为我一开始学Java都是直接下了一个MyeClipse来用的,没想过太多.其实也是,两 ...