-
题目描述:
-
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。斐波那契数列的定义如下:
-
输入:
-
输入可能包含多个测试样例,对于每个测试案例,
输入包括一个整数n(1<=n<=70)。
-
输出:
-
对应每个测试案例,
输出第n项斐波那契数列的值。
-
样例输入:
-
3
-
样例输出:
-
2
- /*********************************
- * 日期:2013-11-15
- * 作者:SJF0115
- * 题号: 题目1387:斐波那契数列
- * 来源:http://ac.jobdu.com/problem.php?pid=1387
- * 结果:AC
- * 来源:剑指Offer
- * 总结:
- **********************************/
- #include<iostream>
- #include<stdio.h>
- #include<string>
- using namespace std;
- //斐波那契数列F(n)
- long long Fibonacci(int n){
- int i;
- long long fibonacciA = 0;
- long long fibonacciB = 1;
- long long fibonacciC;
- if(n == 0){
- return fibonacciA;
- }
- else if(n == 1){
- return fibonacciB;
- }
- for(i = 2;i <= n;i++){
- fibonacciC = fibonacciA + fibonacciB;
- fibonacciA = fibonacciB;
- fibonacciB = fibonacciC;
- }
- return fibonacciC;
- }
- int main()
- {
- int i,n;
- while(scanf("%d",&n) != EOF){
- printf("%lld\n",Fibonacci(n));
- }
- return 0;
- }
- #include <stdio.h>
- #include <math.h>
- int main()
- {
- int n,i,j;
- double Fibonacci[71];
- Fibonacci[0] = 0;
- Fibonacci[1] = 1;
- while(scanf("%d",&n) != EOF){
- for(int i = 2;i <= n;i++){
- Fibonacci[i] = Fibonacci[i-1] + Fibonacci[i-2];
- }
- printf("%.0lf\n",Fibonacci[n]);
- }
- return 0;
- }