C語(yǔ)言使用普通循環(huán)方法和遞歸求斐波那契序列示例代碼
#include <stdio.h>
int fac(int x);
int main(void)
{
int n;
scanf("%d", &n);
if (n == 1 || n == 2)
printf("1\n");
else if (n == 3)
printf("2\n");
else
{
int last = 1;
int sum = 2;
for (int i = 3; i < n; ++i)
{
int temp = sum;
sum = sum + last;
last = temp;
}
printf("循環(huán)求出斐波那契序列值:%d\n", sum);
}
int sum2 = fac(n);
printf("遞歸求出斐波那契序列值:%d\n", sum2);
return 0;
}
//遞歸
int fac(int x)
{
static int f[50] = {1,1};
if (x == 1 || x == 2)
return f[x-1];
return f[x-1] == 0 ?
( f[x-1] = fac(x-1) + fac(x-2) ) :
f[x-1] ;
}
相關(guān)文章
C語(yǔ)言驅(qū)動(dòng)開發(fā)之判斷自身是否加載成功詳解
在驅(qū)動(dòng)開發(fā)中我們有時(shí)需要得到驅(qū)動(dòng)自身是否被加載成功的狀態(tài),這個(gè)功能看似沒(méi)啥用實(shí)際上在某些特殊場(chǎng)景中還是需要的。本文將通過(guò)示例詳細(xì)講講這一功能的實(shí)現(xiàn)方法,需要的可以參考下2022-10-10VisualStudio Community2019在安裝的過(guò)程中無(wú)法進(jìn)入安裝界面的解決方法
這篇文章主要介紹了VisualStudio Community2019在安裝的過(guò)程中無(wú)法進(jìn)入安裝界面的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03C++實(shí)現(xiàn)一個(gè)簡(jiǎn)易版的事件(Event)的示例代碼
之前在?windows系統(tǒng)中開發(fā)應(yīng)用時(shí),?遇到需要進(jìn)行線程同步的時(shí)候幾乎都是使用的事件內(nèi)核對(duì)象?Event。本文為大家整理了C++實(shí)現(xiàn)一個(gè)簡(jiǎn)易版的事件(Event)的相關(guān)資料,需要的可以參考一下2022-11-11C++&&Opencv實(shí)現(xiàn)控制臺(tái)字符動(dòng)畫的方法
這篇文章主要介紹了C++&&Opencv實(shí)現(xiàn)控制臺(tái)字符動(dòng)畫的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07