飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 1660|回复: 0

[C/C++] 斐波那契数列

[复制链接]
  • TA的每日心情
    开心
    2022-11-16 14:28
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2010-3-14 12:43:41 | 显示全部楼层 |阅读模式
    1. 斐波那契数列
    2.        “斐波那契数列”的发明者,是意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci,生于公元1170年,籍贯大概是比萨,卒于1240年后)。他还被人称作“比萨的列昂纳多”。1202年,他撰写了《珠算原理》(Liber Abaci)一书。他是第一个研究了印度和阿拉伯数学理论的欧洲人。他的父亲被比萨的一家商业团体聘任为外交领事,派驻地点相当于今日的阿尔及利亚地区,列昂纳多因此得以在一个阿拉伯老师的指导下研究数学。他还曾在埃及、叙利亚、希腊、西西里和普罗旺斯研究数学。
    3. 《达·芬奇密码》中还提到过这个斐波那契数列..
    4. 斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21……
    5. 这个数列从第三项开始,每一项都等于前两项之和。它的通项公式为:(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}【√5表示根号5】
    6. 很有趣的是:这样一个完全是自然数的数列,通项公式居然是用无理数来表达的。
    7. C++代码:
    8. // (1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}
    9. #include <iOStream>
    10. #include <cmath>
    11. using namespace std;
    12. int fun(int n)
    13. {
    14.     double i = sqrt(5.0);
    15.     return (1.0/i * (pow( ((1.0 + i )/2.0),n) - pow(((1 - i) / 2),n)));
    16. }
    17. int main()
    18. {
    19.     int n;
    20.     cin >> n;
    21.     cout << fun(n)<< endl;
    22.     return 0;
    23. }
    复制代码
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表