欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言項(xiàng)目爬樓梯的兩種實(shí)現(xiàn)方法參考

 更新時(shí)間:2019年02月19日 09:56:13   作者:迂者-賀利堅(jiān)  
今天小編就為大家分享一篇關(guān)于C語言項(xiàng)目爬樓梯的兩種實(shí)現(xiàn)方法參考,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

【項(xiàng)目-爬樓梯】

樓梯有n階臺階,上樓可以一步上1階,也可以一步上2階,編一程序計(jì)算共有多少種不同的走法?

【參考解答(遞歸法)】

基礎(chǔ):樓梯有一個(gè)臺階,只有一種走法(一步登上去);兩個(gè)臺階,有2種走法(一步上去,或分兩次上去);

遞推:有n個(gè)臺階時(shí),設(shè)有count(n)種走法,最后一步走1個(gè)臺階,有count(n-1)種走法;最后一步走2個(gè)臺階,有count(n-2)種走法。于是count(n)=count(n-1)+count(n-2)。

可見,此問題的數(shù)學(xué)模型竟然是斐波那契數(shù)。

#include<stdio.h>
int main()
{
 unsigned long count(int n);
 int n;
 unsigned long m;
 printf("請輸入樓梯的階數(shù):");
 scanf("%d",&n);
 m=count(n);
 printf("有%lu種爬樓梯的方法\n",m);
 return 0;
}
unsigned long count (int n)
{
 unsigned long f;
 if(n==1)
  f=1;
 else if(n==2)
  f=2;
 else
  f=count(n-1)+count(n-2);
 return(f);
}

遞歸思路清晰,但卻“成本”高。另一個(gè)方法,在完成問題建模之后,采用了一種很巧妙的“非常規(guī)”的做法,將運(yùn)算量減少了一半。

//計(jì)163-1姜淇瀚
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int main()
{
 int fib(int a,int b,int n);
 int n;
 scanf(&quot;%d&quot;,&amp;n);
 printf(&quot;%d&quot;,fib(0,1,n));
 return 0;
}
int fib(int a,int b,int n)
{
 if(n==3)
 {
  return a+b;
 }
  return fib(b,a+b,n-1);
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • C++開發(fā)之PugiXML庫基礎(chǔ)用法示例詳解

    C++開發(fā)之PugiXML庫基礎(chǔ)用法示例詳解

    PugiXML庫是一個(gè)功能強(qiáng)大、簡單易用的C++ XML解析庫,它提供了一組方便的函數(shù)來解析、創(chuàng)建和修改XML文檔,本文介紹了如何使用PugiXML庫來解析、創(chuàng)建和修改XML文檔,以及如何處理錯(cuò)誤和異常,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • C++ opencv霍夫圓檢測使用案例詳解

    C++ opencv霍夫圓檢測使用案例詳解

    這篇文章主要介紹了C++ opencv霍夫圓檢測使用案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • C++遍歷文件夾下的所有文件

    C++遍歷文件夾下的所有文件

    數(shù)據(jù)分多個(gè)文件存儲,讀取數(shù)據(jù)就需要對多個(gè)文件進(jìn)行操作。下面通過實(shí)例代碼給大家講解C++遍歷文件夾下的所有文件,感興趣的的朋友一起看看吧
    2017-08-08
  • 詳解c++中signal信號攜帶數(shù)據(jù)的接收與發(fā)送

    詳解c++中signal信號攜帶數(shù)據(jù)的接收與發(fā)送

    這篇文章主要為大家詳細(xì)介紹了c++中signal信號攜帶數(shù)據(jù)的接收與發(fā)送的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • C語言算法金手指摩爾投票法手撕絕大多數(shù)問題

    C語言算法金手指摩爾投票法手撕絕大多數(shù)問題

    這篇文章主要為大家介紹了C語言算法之金手指摩爾投票法手撕絕大多數(shù)問題的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-02-02
  • C語言如何正確的終止正在運(yùn)行的子線程

    C語言如何正確的終止正在運(yùn)行的子線程

    這篇文章主要介紹了C語言如何正確的終止正在運(yùn)行的子線程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • 利用C語言實(shí)現(xiàn)2048小游戲的方法

    利用C語言實(shí)現(xiàn)2048小游戲的方法

    2048是比較流行的一款數(shù)字游戲,相信對大家來說都不陌生,這篇文章給大家分享了利用C語言實(shí)現(xiàn)2048小游戲的方法,對大家學(xué)習(xí)理解C語言具有一定的參考借鑒價(jià)值,有需要的朋友們下面來一起看看吧。
    2016-10-10
  • C語言結(jié)合ffmpeg打印音視頻信息

    C語言結(jié)合ffmpeg打印音視頻信息

    這篇文章主要介紹了如何通過C語言或者C++編程語言結(jié)合ffmpeg拿到一些音視頻的關(guān)鍵信息,例如:幀率等。感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2021-12-12
  • C++?STL?iota?和?atoi?用法示例詳解

    C++?STL?iota?和?atoi?用法示例詳解

    atoi是一個(gè)C/C++標(biāo)準(zhǔn)庫中的函數(shù),用于將一個(gè)以ASCII字符串表示的整數(shù)轉(zhuǎn)換為整數(shù)類型,這篇文章主要介紹了C++?STL?iota?和?atoi?用法,需要的朋友可以參考下
    2024-08-08
  • c++ using定義類型別名的具體使用

    c++ using定義類型別名的具體使用

    本文主要介紹了c++ using定義類型別名的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08

最新評論