C++ B (1124) : 斐波那契數列第n項Plus

文章目錄

  • 一、題目描述
  • 二、參考代碼


一、題目描述

在這里插入圖片描述


二、參考代碼

#include <iostream>
#include <vector>using namespace std;const long long MOD = 1e9 + 7; // 取模的值// 定義矩陣類
class Matrix {
public:vector<vector<long long>> data;// 構造函數,創建一個大小為 size x size 的矩陣,初始化為0Matrix(int size) : data(size, vector<long long>(size, 0)) {}// 矩陣乘法Matrix operator*(const Matrix& other) const {int size = data.size();Matrix result(size);for (int i = 0; i < size; ++i) {for (int j = 0; j < size; ++j) {for (int k = 0; k < size; ++k) {result.data[i][j] += (data[i][k] * other.data[k][j]) % MOD;result.data[i][j] %= MOD; // 取模運算}}}return result;}
};// 計算矩陣快速冪
Matrix matrixPower(Matrix base, int n) {int size = base.data.size();Matrix result(size);// 初始化為單位矩陣for (int i = 0; i < size; ++i) {result.data[i][i] = 1;}// 循環計算冪while (n > 0) {if (n & 1) {result = result * base;}base = base * base;n >>= 1;}return result;
}// 計算斐波那契數列的第 n 項
long long fibonacci(int n) {if (n <= 0) return 0;if (n == 1) return 1;Matrix base(2);base.data[0][0] = 1;base.data[0][1] = 1;base.data[1][0] = 1;base.data[1][1] = 0;Matrix result = matrixPower(base, n - 1);return result.data[0][0] % MOD;
}int main() {int n;while (cin >> n){long long result = fibonacci(n);cout << result << endl;}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21548.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21548.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21548.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JavaWeb項目規范開發流程詳細分解

在JavaWeb項目開發中&#xff0c;遵循規范化的開發流程和最佳實踐可以提高代碼的可維護性、可擴展性和團隊協作效率。規范化的開發流程主要從下面幾個方面進行&#xff1a; 1. 項目結構 分層架構&#xff1a;典型的分層架構包括表示層&#xff08;Controller&#xff09;、業…

字節裁員!開啟裁員新模式。。

最近&#xff0c;互聯網圈不太平&#xff0c;裁員消息此起彼伏。而一向以“狼性文化”著稱的字節跳動&#xff0c;卻玩起了“低調裁員”&#xff0c;用一種近乎“溫柔”的方式&#xff0c;慢慢擠掉“冗余”的員工。 “細水長流”&#xff1a;裁員新模式&#xff1f; 不同于以往…

【TB作品】MSP430F5529,單片機,打地鼠游戲

功能 針對這塊開發板做了一個打地鼠游戲&#xff1a; 1 給單片機上電后&#xff0c;初始化顯示界面&#xff0c;顯示出分數和等級。 2 游戲是一輪一輪進行的&#xff0c;每一輪會以50%幾率點亮板子上的五個小燈&#xff0c;表示地鼠露頭需要打了。 3 一輪游戲開始后&#xff…

亞馬遜又爆單了!做跨境電商就是靠選品!

其實亞馬遜運營并不難&#xff0c;只要遵循亞馬遜規則去做就不會有問題&#xff0c;亞馬遜規則其實就是運營&#xff0c;但是&#xff01;難就難在選品&#xff01;我自己是做精品的&#xff0c;我自己明顯的感覺就是&#xff0c;運營技術很厲害&#xff0c;但是好的產品面前一…

貪心算法拓展(反悔貪心)

相信大家對貪心算法已經見怪不怪了&#xff0c;但是一旦我們的決策條件會隨著我們的步驟變化&#xff0c;我們該怎么辦呢&#xff1f;有沒有什么方法可以反悔呢&#xff1f; 今天就來講可以后悔的貪心算法&#xff0c;反悔貪心。 https://www.luogu.com.cn/problem/CF865Dhttp…

C++棧、隊列

文章目錄 目錄 文章目錄 前言 一、stack、queue介紹 1.stack 2.queue 二、stack、queue的習題 1. 最小棧 2. 棧的壓入、彈出序列 3.二叉樹的層序遍歷 三、stack和queue的模擬實現 1.stack的模擬實現 2.queue的模擬實現 前言 棧和隊列是倆種特殊的容器&#xff0c;C在實現棧和隊…

Go Go-Simple-Mail包進行批量SMTP郵件發送

go-simple-mail 包提供了一種簡便的方式來處理和發送郵件。這個包支持保持活動連接、TLS和SSL加密協議,非常適合批量SMTP郵件發送需求。 1、安裝Go-Simple-Mail包 go get -u github.com/xhit/go-simple-mail/v2 2、配置SMTP服務器連接 go-simple-mail包支持多種SMTP服務器…

強達電路營收下滑凈利潤急劇放緩:周轉率驟降,2次因環保被罰

《港灣商業觀察》施子夫 自2022年6月向深交所創業板遞交招股書起&#xff0c;深圳市強達電路股份有限公司&#xff08;以下簡稱&#xff0c;強達電路&#xff09;已收到深交所下發的兩輪審核問詢函&#xff0c;并且公司已于2023年3月31日順利過會。但由于遲遲未提交注冊申請&a…

無實驗數據指導蛋白質定向進化,上海交大洪亮課題組發表微環境感知圖神經網絡 ProtLGN

在現代生物技術和醫藥研究中&#xff0c;蛋白質工程扮演著至關重要的角色。通過修改蛋白質的氨基酸序列&#xff0c;蛋白質工程可以改善或賦予蛋白質新的生物化學性質&#xff0c;如增強酶的催化效率、提高藥物的親和力或改善其熱穩定性。這些改進對于開發新藥、治療疾病以及提…

lua vm 一: attempt to yield across a C-call boundary 的原因分析

使用 lua 的時候有時候會遇到這樣的報錯&#xff1a;“attempt to yield across a C-call boundary”。 1. 網絡上的解釋 可以在網上找到一些關于這個問題的解釋。 1.1 解釋一 這個 issue&#xff1a;一個關于 yield across a C-call boundary 的問題&#xff0c;云風的解釋是…

【最新鴻蒙應用開發】——實用廣告思路,可動態修改(方便運營)

鴻蒙項目加入廣告展示頁業務 廣告頁的思路——華為有廣告業務&#xff0c;但是我們不用- ad模塊&#xff1b; 想自定義廣告——場景&#xff1a; app啟動-有廣告需求&#xff0c;就打開廣告頁&#xff0c;沒有的話就去登錄或者主頁&#xff1b; 騰訊體育的廣告- 啟動有廣告頁…

適合小白學習的項目1894java開發ssm框架校園跑腿管理系統myeclipse開發mysql數據庫springMVC模式java編程計算機網頁設計

一、源碼特點 java ssm 校園跑腿管理系統是一套完善的web設計系統&#xff08;系統采用SSM框架進行設計開發&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;對理解JSP java編程開發語言有幫助&#xff0c;系統具有完整的源代碼和數據庫&#xff0c;系統主要采…

Java項目:96 springboot精品在線試題庫系統

作者主頁&#xff1a;舒克日記 簡介&#xff1a;Java領域優質創作者、Java項目、學習資料、技術互助 文中獲取源碼 項目介紹 這次開發的精品在線試題庫系統有管理員&#xff0c;教師&#xff0c;學生三個角色。 管理員功能有個人中心&#xff0c;專業管理&#xff0c;學生管理…

比較(二)利用python繪制雷達圖

比較&#xff08;二&#xff09;利用python繪制雷達圖 雷達圖&#xff08;Radar Chart&#xff09;簡介 雷達圖可以用來比較多個定量變量&#xff0c;也可以用于查看數據集中變量的得分高低&#xff0c;是顯示性能表現的理想之選。缺點是變量過多容易造成閱讀困難。 快速繪制…

Go語言 一些問題了解

一、讀取文件數據&#xff0c;是阻塞還是非阻塞的&#xff1f; 分兩種情況&#xff1a;常規讀取文件數據&#xff0c;和網絡IO讀取數據 1. 常規讀取文件數據&#xff1a; io.Reader 和 bufio.Reader 是同步進行的。 bufio.Reader 提供緩沖的讀取操作&#xff0c;意味著數據是…

網站入門:Flask用法講解

Flask是一個使用Python編寫的輕量級Web服務框架&#xff0c;旨在幫助開發人員快速構建和部署Web應用程序。下面將對Flask進行更為詳細的解釋說明&#xff0c;并展示其使用示例與注意事項&#xff1a; 1.解釋說明 定義及特點: Flask以其簡潔和靈活著稱&#xff0c;允許開發者以…

C++:list模擬實現

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起學習《C&#xff1a;list模擬實現》&#xff0c;感謝大家對我上一篇的支持&#xff0c;如有什么問題&#xff0c;還請多多指教 &#xff01; 如果本篇文章對你有幫助&#xff0c;還請各位點點贊&#xff01;&#xf…

LeetCode題練習與總結:二叉樹展開為鏈表--114

一、題目描述 給你二叉樹的根結點 root &#xff0c;請你將它展開為一個單鏈表&#xff1a; 展開后的單鏈表應該同樣使用 TreeNode &#xff0c;其中 right 子指針指向鏈表中下一個結點&#xff0c;而左子指針始終為 null 。展開后的單鏈表應該與二叉樹 先序遍歷 順序相同。 …

深入探討Java字符串拼接的藝術

引言 在Java編程中&#xff0c;字符串是最基本的數據類型之一。字符串拼接是開發過程中一個非常常見的操作&#xff0c;無論是構建用戶界面的文本&#xff0c;還是生成日志信息&#xff0c;都離不開字符串的拼接。然而&#xff0c;字符串拼接的效率和正確性常常被開發者忽視&a…

格式化數據恢復指南:從備份到實戰,3個技巧一網打盡

朋友們&#xff01;你們有沒有遇到過那種“啊&#xff0c;我的文件呢&#xff1f;”的尷尬時刻&#xff1f;無論是因為手滑、電腦抽風還是其他原因&#xff0c;數據丟失都可能會讓我們抓狂&#xff0c;甚至有時候&#xff0c;我們可能一不小心就把存儲設備格式化了&#xff0c;…