Problem1052--菲波那契数列

1052: 菲波那契数列

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 101  Solved: 48
[Submit] [Status] [Web Board] [Creator:]

Description

菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数k,要求菲波那契数列中第k个数是多少。

Input

输入一行,包含一个正整数k。(1 <= k <= 46)

Output

输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小

Sample Input

19 

Sample Output

4181

HINT

递推的基本例子
稍稍变化:猴子爬30级楼梯,两种爬法:1步,3步,问有几种爬法。




#include <iostream>
using namespace std;
int main()
{
 int i,n;
 int a1,a2,a3,a4;
 a1=1;a2=1;a3=2;
 cin>>n; printf("%d %d %d ",a1,a2,a3); 
 for(i=4;i<=n;i++)
 {
  a4=a1+a3;
  printf("%d ",a4);
  a1=a2;a2=a3;a3=a4;
 }
 printf("%d ",a3); 
}

Source/Category


[Submit] [Status]