亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

c語言 跳臺階問題的解決方法

 更新時間:2013年05月24日 09:29:20   作者:  
本篇文章是對c語言中跳臺階問題的解決方法進行了詳細的分析介紹,需要的朋友參考下
題目:一個臺階總共有n級,如果一次可以跳1級,也可以跳2級。求總共有多少種跳法,并分析算法的時間復雜度。
答:用一個函數f(n)來表示n級臺階總的跳法。
1、只有1個臺階,則f(1) = 1;
2、有2個臺階,則f(2) = 2;
3、當有n個臺階時,如果第一次跳1級,有f(n-1)種跳法,如果第一次跳2級,有f(n - 2)種跳法,即f(n) = f(n-1) + f(n-2)。
即為Fibonacci序列。
復制代碼 代碼如下:

#include "stdafx.h"
#include <iostream>
using namespace std;
//循環(huán)
int TotalStep(int n)
{
    if (n <= 0)
    {
        return 0;
    }
    else if (1 == n || 2 == n)
    {
        return n;
    }
    int first = 1;
    int second = 2;
    int total = 0;
    for (int i = 3; i <= n; i++)
    {
        total = first + second;
        first = second;
        second = total;
    }
    return total;
}
//遞歸
int RecurTotalStep(int n)
{
    if (n <= 0)
    {
        return 0;
    }
    else if (n == 1 || n == 2)
    {
        return n;
    }
    else
    {
        return RecurTotalStep(n - 1) + RecurTotalStep(n - 2);
    }
}
int _tmain(int argc, _TCHAR* argv[])
{
    cout<<TotalStep(20)<<endl;
    cout<<RecurTotalStep(20)<<endl;
    return 0;
}

運行界面如下:


相關文章

  • c++ bitset詳解

    c++ bitset詳解

    這篇文章主要介紹了C++ bitset用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • C語言程序的編譯與預處理基礎定義講解

    C語言程序的編譯與預處理基礎定義講解

    在ANSI C的任意一種實現中,存在2中不同的環(huán)境。第一種是翻譯環(huán)境,負責將源代碼轉換成可執(zhí)行的機器指令;第二種是執(zhí)行環(huán)境,用于實際執(zhí)行代碼。一個程序從源代碼到可執(zhí)行程序一共會經歷四個過程,分別是預處理、編譯、匯編、鏈接,本篇讓我們來了解編譯與預處理
    2022-04-04
  • atoi和itoa函數的實現方法

    atoi和itoa函數的實現方法

    本文介紹了,atoi和itoa函數的實現方法,需要的朋友可以參考一下
    2013-03-03
  • 使用opencv實現車道線檢測實戰(zhàn)代碼

    使用opencv實現車道線檢測實戰(zhàn)代碼

    這篇文章主要介紹了opencv車道線檢測實戰(zhàn),效果非常逼真,代碼簡單易懂,對opencv車道線檢測實戰(zhàn)代碼感興趣的朋友一起看看吧
    2022-03-03
  • C語言學生成績管理系統(tǒng)課程設計

    C語言學生成績管理系統(tǒng)課程設計

    這篇文章主要為大家詳細介紹了C語言學生成績管理系統(tǒng)課程設計,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語言使用回溯法解旅行售貨員問題與圖的m著色問題

    C語言使用回溯法解旅行售貨員問題與圖的m著色問題

    回溯法即是在按條件搜索走不通的情況下退回再選擇其他路線的方法,這里我們來看C語言使用回溯法解旅行售貨員問題與圖的m著色問題的方法示例:
    2016-07-07
  • CMake中使用vcpkg的實現

    CMake中使用vcpkg的實現

    本文主要介紹了CMake中使用vcpkg的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • 基于Windows C++ 應用程序通用日志組件的使用詳解

    基于Windows C++ 應用程序通用日志組件的使用詳解

    眾所周知,在調試、跟蹤和執(zhí)行應用程序的過程中,程序的日志能為這些工作提供大量有價值的運行信息。因此,程序的日志對應用程序的運行、維護至關重要
    2013-05-05
  • C語言qsort函數用冒泡排序實現過程詳解

    C語言qsort函數用冒泡排序實現過程詳解

    qsort函數是由C語言提供的標準庫函數, 它的實現思想是快速排序。這篇文章主要介紹了C語言中qsort函數用法及用冒泡排序實現qsort函數功能,需要的可以參考一下
    2023-02-02
  • C++實現strcmp字符串比較的深入探討

    C++實現strcmp字符串比較的深入探討

    本篇文章是對使用C++實現strcmp字符串比較進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05

最新評論