用PHP迭代器回實現一個費伯納西數列

來源:互聯網
上載者:User
用PHP迭代器來實現一個費伯納西數列

費伯納西數列通常做法是用遞迴實現,當然還有其它的方法。這裡現學現賣,用PHP的迭代器來實現一個費伯納西數列,幾乎沒有什麼難度,只是把類裡的next()方法重寫了一次。注釋已經寫到代碼中,也是相當好理解的。

current;     }         public function key() {         return $this->key;     }         public function next() { // 關鍵在這裡// 將當前值儲存到  $newprevious        $newprevious = $this->current; // 將上一個值與當前值的和賦給當前值        $this->current += $this->previous; // 前一個當前值賦給上一個值        $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; } ?>



程式運行結果:

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



  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.