信息学奥赛一本通 1071:菲波那契数 | OpenJudge NOI 1.5 17:菲波那契数列
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1071:菲波那契数 | OpenJudge NOI 1.5 17:菲波那契数列
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【題目鏈接】
ybt 1071:菲波那契數(shù)
OpenJudge NOI 1.5 17:菲波那契數(shù)列
【題目考點(diǎn)】
1. 斐波那契數(shù)列
參考:多種方法求斐波那契數(shù)列
【解題思路】
迭代法求斐波那契數(shù)列
- 設(shè)置變量n1,n2,表示當(dāng)前已知的倒數(shù)第二項(xiàng),和最后一項(xiàng)
- 求新的項(xiàng)t,t = n1 + n2;
- 新的倒數(shù)第二項(xiàng)是原來的最后一項(xiàng),所以使n2 = n1;
- t將會是新的最后一項(xiàng),有n1 = t;
- i為3時(shí)求出第3項(xiàng),i為4時(shí)求出第4項(xiàng),i為k時(shí)求出第k項(xiàng)。循環(huán)i從3循環(huán)到k,即可求出第k項(xiàng)
【題解代碼】
解法1:迭代法
#include<bits/stdc++.h> using namespace std; int main() {int k, n2 = 1, n1 = 1, t;//n2, n1是當(dāng)前求出的倒數(shù)第二項(xiàng),和最后一項(xiàng)cin>>k;//k:第幾項(xiàng)if(k <= 2)//前兩項(xiàng)值為1cout<<1;else{for(int i = 3; i <= k; ++i){t = n1 + n2;n2 = n1;n1 = t;}cout<<n1;//輸出當(dāng)前求出的最后一項(xiàng)}return 0; } 新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通 1071:菲波那契数 | OpenJudge NOI 1.5 17:菲波那契数列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(2045:【例5.13
- 下一篇: 信息学奥赛一本通(1152:最大数max