日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言n次方怎么输入_C语言实现斐波拉契数列

發布時間:2023/12/2 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言n次方怎么输入_C语言实现斐波拉契数列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言實現斐波拉契數列教程

怎么使用 C 語言實現計算斐波拉契數列的第 N 項的值?

C語言實現斐波拉契數列詳解

背景知識

斐波那契數列是一組第一位和第二位為 1,從第三位開始,后一位是前兩位和的一組遞增數列,像這樣的:1、1、2、3、5、8、13、21、34、55 ......。

我們可以看到,此數列的第一位和第二位都是 1,第三位的值是第一位和第二位的和、第四位的值是第二位和第三位的和、第無位的值是第三位和第四位的和、依次類推。

解題思路一

看到此類問題,我們最優先想到的就是使用遞歸來實現該算法,遞歸的出口條件是第一項或者第二項值都是 1,否則,第 N 項的值是第 N - 1 項的值加上第 N - 2 項的值。

解題思路二

我們可以使用 for 循環,從第一項和第二項開始計算,一直計算到我們需要求的第 N 項的值。每次計算的值使用變量進行臨時保存即可。

C語言實現斐波拉契數列實現

遞歸實現

使用遞歸實現求解斐波拉契數列的值

#include int Fibonacci(int n){if (n == 1 || n == 2){//如果是第一項或者是第二項,值都是 1 return 1;}else{//開始遞歸,n 項的值就是 n-1 項的值和 n-2 項的值 return Fibonacci(n - 1) + Fibonacci(n - 2); }}int main(){printf("嗨客網(www.haicoder.net)");int n = 0;printf("請輸入要求的項:");scanf("%d", &n);int result = Fibonacci(n);printf("result = %d", result);return 0;}

程序運行后,控制臺輸出如下:

我們單獨定義了一個函數 Fibonacci,在該函數里面,我們使用 if 判斷如果 n 的值為 1 或者 2 則直接返回 1,這就是遞歸的出口。

否則,我們則繼續調用 Fibonacci 函數,返回第 N - 1 項和第 N - 2 項的和,這里就是遞歸的開始。最后,我們輸入了 10,返回了 55。

for循環實現

使用 for 循環加上臨時變量實現求解斐波拉契數列的值

#include int Fibonacci(int n){int num1 = 1, num2 = 1, temp = 0, i = 0;if (n == 1 || n == 2){return 1;}else{for (i = 0; i < n-2; i++){temp = num1 + num2;num1 = num2;num2 = temp;}return temp;} }int main(){printf("嗨客網(www.haicoder.net)");int n = 0;printf("請輸入要求的項:");scanf("%d", &n);int result = Fibonacci(n);printf("result = %d", result);return 0;}

程序運行后,控制臺輸出如下:

我們單獨定義了一個函數 Fibonacci,在該函數里面,我們使用 if 判斷如果 n 的值為 1 或者 2 則直接返回 1。

否則,我們則使用 for 循環計算 n - 2 次,同時,將每次的計算結果保存在臨時變量 temp 中,一輪計算結束,將變量 num2 賦給 num1,將臨時變量 temp 賦值給 num2。最后,我們輸入了 10,返回了 55。

## C語言實現斐波拉契數列總結

使用 C 語言實現計算斐波拉契數列的第 N 項的值有兩種方法,第一種就是使用遞歸實現,第二種則是使用 for 循環按個計算。

總結

以上是生活随笔為你收集整理的c语言n次方怎么输入_C语言实现斐波拉契数列的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。