//递归的方法,超时
#include <iostream>
#include <string>
#include <stdio.h>
#include <vector>
using
namespace
std;
int
Fibonacci(
int
n)
{
if
(n==0)
{
return
0;
}
else
if
(n==1)
{
return
1;
}
else
{
return
Fibonacci(n-1)+Fibonacci(n-2);
}
}
int
main()
{
int
m;
while
(cin>>m)
{
cout<<Fibonacci(m)<<endl;
}
return
0;
}
/**************************************************************
Problem: 1387
User: 无梦楼主lv
Language: C++
Result: Time Limit Exceed
****************************************************************/
//采用迭代的方法,可以,注意数据类型,否则 会溢出
#include <iostream>
#include <string>
#include <stdio.h>
using
namespace
std;
long
Fibonacci(
int
n)
{
if
(n==0)
{
return
0;
}
else
if
(n==1)
{
return
1;
}
else
{
long
a =0,b=1;
long
p=0;
for
(
int
i=2;i<=n;i++)
{
p=a+b;
a=b;
b=p;
}
return
p;
}
}
int
main()
{
int
m;
while
(cin>>m)
{
cout<<Fibonacci(m)<<endl;
}
return
0;
}
/**************************************************************
Problem: 1387
User: 无梦楼主lv
Language: C++
Result: Accepted
Time:10 ms
Memory:1520 kb
****************************************************************/