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]