wikioi 1973 Fibonacci数列【输出第N项的值】

/*=====================================
1978 Fibonacci数列 3 
题目描述 Description
    斐波纳契数列是这样的数列:
    f1 = 1
    f2 = 1
    f3 = 2
    f4 = 3
    ....
    fn = fn-1 + fn-2
    输入一个整数n
    求fn
输入描述 Input Description
    一个整数n, n<= 40
输出描述 Output Description
    一个整数fn
样例输入 Sample Input
    3
样例输出 Sample Output
    2
数据范围及提示 Data Size & Hint
    n<=40
    
下面的代码直接使用 Fibonacci数列的通项公式计算第n项。
an=1/sqrt(5)*(  (  ( 1+sqrt(5) )/2)^n-(  ( 1-sqrt(5) )/2)^n  ) 
======================================*/
题目描述

懒得写递推了,直接用通项公式输出吧。

公式:

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5     int n;
 6     double t,ans;
 7     scanf("%d",&n);
 8     t=sqrt(5);
 9     ans=1.0/t*(pow((1+t)/2,n)-pow((1-t)/2,n));
10     printf("%.0lf\n",ans);
11     return 0;
12 }
View Code

 

posted on 2014-03-22 22:24  华山青竹  阅读(570)  评论(0)    收藏  举报

导航