C語言————斐波那契數列(例題1)

小博在學習c語言時,總是會遇到一些很典型的例題,如:斐波那契數列漢諾塔問題冒泡排列問題,等等。小博決定匯總一下,今天講清斐波那契數列,后續持續更新。

一、斐波那契數列

斐波那契數列:1,1,2,3,5,8,13,21,34,55 ......

例:求第n個斐波那契數Fib(n)

這是一個數學問題,我們可以先找找規律。

二、用遞歸的方法求

看到這里我們可以想到用遞歸的方法:

//遞歸求斐波那契數列
#include <stdio.h>
int Fib(int n)
{if (n <= 2)return 1;elsereturn Fib(n - 1) + Fib(n - 2);
}int main()
{int n = 0;scanf("%d", &n);int ret = Fib(n);printf("%d", ret);return 0;
}

該方法看似簡單,然而計算量非常大,每個數都要重新計算一遍組成它的兩個數,不要用該方法。

三、用迭代的方法求

我們再次分析找規律,會發現可以用迭代的方法:

//用迭代求斐波那契數列
#include <stdio.h>
int main()
{int n = 0;scanf("%d", &n);int a = 1;int b = 1;int c = 1;while (n>=3){c = a + b;a = b;b = c;n--;}printf("%d", c);return 0;
}

這種方法就比遞歸快的多了!

好了,小博關于斐波那契數列今天就講這么多了,歡迎大家留言評論!!

這里小博送上自己喜歡的一句話給大家:山與山之間不必相似,春與秋也不必爭艷

加油!!

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

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

相關文章

Text to Speech技術詳解與實戰:GPT-4o Mini TTS API應用指南

Text to Speech技術詳解與實戰&#xff1a;GPT-4o Mini TTS API應用指南 一、概述 Text to Speech&#xff08;TTS&#xff0c;文本轉語音&#xff09;技術正在廣泛應用于博客配音、多語言音頻輸出與實時語音流等場景。越來越多的開發者希望將自然、流暢的AI語音集成到產品中…

數字ic后端Useful Skew到底怎么玩的?

CCOpt的Useful Skew到底怎么玩的&#xff1f;上圖里&#xff0c;我們可以看到&#xff0c;在CCOpt之前&#xff0c;這個chain上的slack為200ps/-100ps/200ps。我們想修復這-100ps的slack&#xff0c;就有兩個策略了&#xff1a;方法1&#xff1a;把F1的delay提前&#xff1b;方…

Linux 網絡配置與系統管理指南

文章目錄 1. 虛擬機網絡模式 1. 橋接模式 (Bridged) 2. NAT 模式 3. 僅主機模式 (Host-only) 2. 固定IP配置(橋接模式) 配置步驟: 3. 進程管理 1)查看進程:ps命令 2)終止進程 3)進程樹查看 4. 服務管理 1)systemctl管理服務 2)chkconfig服務管理 5. 動態監控 top命令 …

算法學習筆記:雙指針_滑動窗口專題

目錄 1.長度最小的子數組 2.無重復字符的最長子串 3.將x減少到0的最小操作數 4.最大連續1的個數Ⅲ 5.找到字符串中所有字母異位詞 6.水果成籃 7.串聯所有單詞的子串 8.最小覆蓋子串 1.長度最小的子數組&#xff1a;209. 長度最小的子數組 - 力扣&#xff08;LeetCode&a…

Witsbb健敏思是哪個國家的品牌?澳洲純凈溯源,100+過敏原排除的敏寶專研品牌

在為敏感體質寶寶挑選營養補充品時&#xff0c;“品牌來源是否可靠”“品控標準是否嚴格”往往是寶爸寶媽的首要考量。源自澳大利亞的Witsbb健敏思&#xff0c;作為澳企Forestpark旗下的綜合膳食營養補充品牌&#xff0c;從誕生起便根植于澳洲嚴苛的保健品監管體系&#xff0c;…

gdbserver遠程調試和交叉編譯gdb

1、交叉編譯gdb 1.1下載源碼 Gdb源碼&#xff1a;wget https://ftp.gnu.org/gnu/gdb/gdb-15.2.tar.xz Gdb依賴的源碼&#xff1a;GMP、MPFR、ncurses&#xff08;圖形庫&#xff09; GMP源碼&#xff1a;wget https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz MPFR源碼&#xff1…

UE5.5模型導入FBX強制x軸向前Force Front XAxis

很多軟件軸向都是不同的 , 所以模型導入虛幻的時候 可以勾選Force Front XAxisUE5.5 在右上角設置 點擊右上角三個點就可以看到強制前X軸

Docker中如何記錄非交互式連接ssh用戶操作的所有命令記錄?

網羅開發&#xff08;小紅書、快手、視頻號同名&#xff09;大家好&#xff0c;我是 展菲&#xff0c;目前在上市企業從事人工智能項目研發管理工作&#xff0c;平時熱衷于分享各種編程領域的軟硬技能知識以及前沿技術&#xff0c;包括iOS、前端、Harmony OS、Java、Python等方…

渦旋場和撓場的對偶性方程組

要將渦旋場與撓場的動態對偶性以麥克斯韋方程組的形式嵌入愛因斯坦-嘉當理論的彎曲時空框架中。一、符號與幾何基礎1. 基本張量定義 度規張量&#xff1a; g_{\mu\nu} &#xff08;描述時空彎曲&#xff0c; \mu,\nu 0,1,2,3 &#xff09;。仿射聯絡&#xff1a; \Gamma^\la…

8.28日QT

思維導圖#include <iostream>using namespace std;int main() {int a0,b0,c0,d0;string i;cout << "請輸入一個字符串" << endl;getline(cin,i);int yi.size()-1;while(1){if(a<i[y]&&i[y]<z){aa1;}else if(A<i[y]&&i[y]…

跨網絡通信:路由器如何實現全球互聯

目錄 一、跨網絡的兩臺主機通信 二、采用不同通信標準的兩個局域網內的主機通信 三、路由器實現的“認路”功能、數據傳輸&#xff1a;封裝與解封裝 四、認識IP地址 五、為什么訪問目標主機需要經過路由器&#xff1f; 1、網絡劃分 2、尋址與轉發 六、目的IP地址的核心意…

HTTP 頭

HTTP 頭&#xff08;HTTP Header&#xff09;是 HTTP 請求/響應中用于傳遞元數據的關鍵部分&#xff0c;分為 請求頭&#xff08;Request Header&#xff09;、響應頭&#xff08;Response Header&#xff09;、通用頭&#xff08;General Header&#xff09; 和 實體頭&#x…

vue 海康視頻插件

背景&#xff1a; 在vue項目中&#xff0c;需要在pc端播放視頻&#xff0c;播放的視頻包括視頻實時、視頻回放等。 寫文思路&#xff1a; 海康視頻對接流程&#xff0c;了解海康視頻插件&#xff0c;前端開發項目并引入依賴&#xff0c;前端開發封裝的組件&#xff0c;組件的調…

【URP】Unity 插入自定義RenderPass

【從UnityURP開始探索游戲渲染】專欄-直達 自定義渲染通道是一種改變通用渲染管道&#xff08;URP&#xff09;如何渲染場景或場景中的對象的方法。自定義呈現通道(RenderPass)包含自己的Render代碼&#xff0c;可以在注入點將其添加到RenderPass中。 添加自定義呈現通道(Rend…

DevSecOps 集成 CI/CD Pipeline:實用指南

就在你以為軟件開發已無簡化的余地時&#xff0c;新的解決方案應運而生 隨著軟件開發幾乎每天都在攀升&#xff0c;組織不斷嘗試以前所未有的速度交付新功能和應用程序。雖然持續集成和持續交付 &#xff08;CI/CD&#xff09; Pipeline 徹底改變了軟件部署&#xff0c;但它們…

vue2+elementui 表格單元格增加背景色,根據每列數據的大小 顏色依次變淺顯示

注釋&#xff1a; vue2elementui 表格列實現一個功能&#xff0c;給定兩個顏色&#xff1a;紅色 #f96d6f 和 綠色 #63be7b&#xff0c;列數據正數時表格單元格背景色為紅色&#xff0c;列數據負數時表格單元格背景色為綠色&#xff0c;根據數據的大小顏色依次越來越淡&#xff…

【JavaEE】(19) MyBatis-plus

一、MyBatis Generator 為 MyBastis 框架設計的代碼生成工具&#xff0c;簡化持久層編碼工作。根據數據庫表自動生成 Java 實體類、Mapper 接口、SQL 的 xml 文件。讓開發者專注于業務邏輯。 1、引入插件 MyBatis 官網搜索 MyBatis Generator 插件&#xff1a;Running MyBatis…

Android之騰訊TBS文件預覽

文章目錄前言一、效果圖二、實現步驟1.去官網注冊并創建應用[騰訊官網](https://console.cloud.tencent.com/tbs/client)2.下載arr文件并引入[騰訊TBS](https://download.csdn.net/download/Android_Cll/91764395)3.application實例化4.activity實例化5.下載網絡文件6.PreviewA…

基于微信小程序的化妝品成分查詢系統源碼

源碼題目&#xff1a;基于微信小程序的化妝品成分查詢系統源碼?? 文末聯系獲取&#xff08;含源碼、技術文檔&#xff09;博主簡介&#xff1a;10年高級軟件工程師、JAVA技術指導員、Python講師、文章撰寫修改專家、Springboot高級&#xff0c;歡迎高校老師、同行交流合作。畢…

STM32 啟動執行邏輯與代碼燒入方法詳解:從底層原理到實操落地

STM32 啟動執行邏輯與代碼燒入方法詳解&#xff1a;從底層原理到實操落地背景概要STM32啟動和執行的核心邏輯鏈條代碼燒入到STM32的途徑方法結束語背景概要 在學習STM32時候我們知道代碼需要通過一些下載器&#xff08;如ST-Link、J-Link&#xff09;或者串口下載燒入到STM32芯…