问题 H: 例题5-8 Fibonacci数列

问题 H: 例题5-8 Fibonacci数列

时间限制: 1 Sec  内存限制: 128 MB
献花: 185  解决: 182
[献花][花圈][TK题库]

题目描述

输入一个正整数n,求Fibonacci数列的第n个数。Fibonacci数列的特点:第1,2个数为1,1。从第3个数开始,概述是前面两个数之和。即:

要求输入的正整数n不超过50.

输入

一个不超过50的正整数

输出

Fibonacci数列的第n个数,末尾输出换行。

样例输入

20

样例输出

6765

参考代码

#include<stdio.h>
int main(void){
  int n,i,ret=0;
  int a[50]={0};//初始化数组
  a[0]=1;
  a[1]=1;
  for(i=2;i<50;i++){
    a[i]=a[i-1]+a[i-2];
  }
  scanf("%d",&n);
//printf("%d",a[49]);
  if(n==1||n==2){
    ret=1;
  }else{
    ret=a[n-1];
}
  printf("%d ",ret);
  return 0;

}

思路:用数组保存Fibonacci数列,最后再输出第n-1项的值,注意数组从0开始计数。n变量保存用户输入的值,i变量用来遍历输入,ret变量保存输出结果。

原文地址:https://www.cnblogs.com/zhhjthing/p/7726935.html