真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP使用迭代器實(shí)現(xiàn)斐波納契數(shù)列的方法

斐波納契數(shù)列通常做法是用遞歸實(shí)現(xiàn),當(dāng)然還有其它的方法。這里現(xiàn)學(xué)現(xiàn)賣,用PHP的迭代器來(lái)實(shí)現(xiàn)一個(gè)斐波納契數(shù)列,幾乎沒(méi)有什么難度,只是把類里的next()方法重寫(xiě)了一次。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了東勝免費(fèi)建站歡迎大家使用!

注釋已經(jīng)寫(xiě)到代碼中,也是相當(dāng)好理解的。

/**
* @author 簡(jiǎn)明現(xiàn)代魔法 http://www.nowamagic.net
*/
class Fibonacci implements Iterator { 
    private $previous = 1; 
    private $current = 0; 
    private $key = 0; 
    
    public function current() { 
        return $this->current; 
    } 
    
    public function key() { 
        return $this->key; 
    } 
    
    public function next() { 
// 關(guān)鍵在這里
// 將當(dāng)前值保存到  $newprevious
        $newprevious = $this->current; 
// 將上一個(gè)值與當(dāng)前值的和賦給當(dāng)前值
        $this->current += $this->previous; 
// 前一個(gè)當(dāng)前值賦給上一個(gè)值
        $this->previous = $newprevious; 
        $this->key++; 
    } 
    
    public function rewind() { 
        $this->previous = 1; 
        $this->current = 0; 
        $this->key = 0; 
    } 
    
    public function valid() { 
        return true; 
    } 
} 
$seq = new Fibonacci; 
$i = 0; 
foreach ($seq as $f) { 
    echo "$f "; 
    if ($i++ === 15) break; 
}

程序運(yùn)行結(jié)果:

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610

以上就是如何用PHP迭代器來(lái)實(shí)現(xiàn)一個(gè)斐波納契數(shù)列的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!


網(wǎng)站欄目:PHP使用迭代器實(shí)現(xiàn)斐波納契數(shù)列的方法
本文URL:http://weahome.cn/article/jehggc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部