python實現猴子爬山算法

猴子爬山一只頑猴在一座有N級臺階的小山上爬山跳躍。上山時需從山腳至山頂往上跳N級臺階,一步可跳1級,或跳3級,求上山有多少種不同的跳法? (N<50)

問題分析:

每一次都可以選擇1,2,3有3種跳法

方法1 直接使用遞歸

jumpWay = [1, 3]footstep = int(input())jumping = 0#first writedef jump(nowstep, footstep, jumpWay):if nowstep == footstep:global jumpingjumping += 1returnelif nowstep > footstep:returnelse:for i in range(len(jumpWay)):jump(nowstep + jumpWay[i], footstep, jumpWay)jump(0, footstep, jumpWay)

但是這種方式會提示 遞歸層數過多

想辦法對算法進行合理優化,排列組合

方法2 循環全排列

size = int(input())
n3 = size//3
res = 0# 求階乘
def jiecheng(n):num = 1if n==1:return 1else:for i in range(1,n+1):num*=ireturn num# 求排列        
def c43(n4,n3):# return jiecheng# 3!/(4-3)!*3!# j3 = jiecheng(3)return jiecheng(n4)//(jiecheng(n4-n3)*jiecheng(n3))# a32不用了
# def a32(n3,n2):
#    return jiecheng(n2)//jiecheng(n3)-jiecheng(n2)# 循環
for i in range(size+1):# i 為有幾個 1步的情況for j in range(n3+1):# j為有 幾個 3步的情況if (i+j*3) == size:# temp 為總數temp = j+ires+=c43(temp,j)
print(res)

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

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

相關文章

指針版 單鏈表復習

#include <bits/stdc.h> #define P pair<int,int> using namespace std;typedef long long LL;typedef struct LNode{int data;struct LNode *nxt; }LNode,*LinkList;bool Linklist_init(LinkList &root){root new LNode; ///分配頭結點&#xff0c;指針域為空…

手寫springboot_Spring Boot 入門教程 | 圖文講解

目錄一、Spring Boot 是什么二、為什么要使用 Spring Boot三、快速入門3.1 創建 Spring Boot 項目3.2 項目結構3.3 引入 Web 依賴3.4 編寫第一個接口3.5 啟動程序&#xff0c;驗證效果四、總結五、GitHub 示例代碼一、Spring Boot 是什么以下截圖自 Spring Boot 官方文檔&#…

lunix 安裝python3

Linux下默認系統自帶python2.6的版本&#xff0c;這個版本被系統很多程序所依賴&#xff0c;所以不建議刪除&#xff0c;如果使用最新的Python3那么我們知道編譯安裝源碼包和系統默認包之間是沒有任何影響的&#xff0c;所以可以安裝python3和python2共存 首先去python官網下載…

手機音視頻應用開發(專注于Symbian、iPhone、Android等跨平臺音視頻應用開發方案)

一款好的手機應用&#xff0c; 能讓用戶在第一分鐘就愛上他&#xff0c; 一款爛的手機應用&#xff0c; 能讓用戶在第一分鐘就要卸載它。 好的應用必須的穩定、快速。市場日益激勵&#xff0c;一個項目的周期是一個漫長的過程&#xff0c;投入的時間、精力、費用。一筆龐大的預…

Colemak布局的實現 Window+Linux+Android

Colemak布局的實現 WindowLinuxAndroid title: ‘Colemak布局的實現’ subtitle: ‘一個極客的鍵盤布局’ tags: entertainment solution 前言 大部分同學使用的鍵盤布局都是QWERTY布局 而科學研究表明,可能這個設計不是最高效率的布局,甚至的有意為了降低打字的效率而研究的…

機器學習之樸素貝葉斯法

轉載請注明出處&#xff1a;http://www.cnblogs.com/Peyton-Li/ 樸素貝葉斯法是機器學習模型中一個比較簡單的模型&#xff0c;實現簡單&#xff0c;比較常用。 是定義在輸入空間上的隨機向量&#xff0c;是定義在輸出空間上的隨機變量。是和的聯合概率分布。訓練數據集由獨立同…

如何讓梯形變成平行四邊形_開放的課堂 創新的天地——平行四邊形的面積教學片段與反思...

一、 課題的確定學生在三年級學過長方形、正方形的面積計算&#xff0c;經歷過從數方格的辦法得出面積計算公式的過程。因此&#xff0c;學生對于面積計算公式的推導有一定的經驗和知識基礎。基于上述考慮&#xff0c;我想完全放手讓學生去研究如何計算平行四邊形的面積。這對學…

bzoj1670【Usaco2006 Oct】Building the Moat 護城河的挖掘

1670: [Usaco2006 Oct]Building the Moat護城河的挖掘 Time Limit: 3 Sec Memory Limit: 64 MBSubmit: 387 Solved: 288[Submit][Status][Discuss]Description 為了防止口渴的食蟻獸進入他的農場&#xff0c;Farmer John決定在他的農場周圍挖一條護城河。農場里一共同擁有N(8…

音視頻編解碼的一些源代碼

音視頻編解碼的一些源代碼 &#xff08;轉&#xff09;資料名稱&#xff1a;音視頻編解碼的一些源代碼 資料成文時間&#xff1a;不詳 語言&#xff1a;英文 頁數&#xff1a;很多 何人所著&#xff08;來源&#xff09;&#xff1a; 文件格式&#xff1a;原代碼 開發工具:vc 說…

Vue之組件之間的數據傳遞

Vue的組件作用域都是孤立的&#xff0c;不允許在子組件的模板內直接引用父組件的數據&#xff0c;必須使用特定的方法才能實現組件之間的數據傳遞。 下列為在vue-cli創建項目中的操作 一父組件向子組件傳遞數據 在Vue中&#xff0c;用props向子組件傳遞數據。 子組件部分&#…

偶然發現一個大佬寫的 React 腳手架,叫Moderate, 用起來很方便

發現一個大佬寫的 React 腳手架&#xff0c;叫Moderate, 用起來很方便 Moderate&#xff0c;意思為適中的&#xff0c;適度的&#xff0c;用這個作為代號&#xff0c;主要取決于他的本名“中用”&#xff0c;其一以貫之的想法就是中庸&#xff0c;秉承著以人為本的態度&#xf…

案例 自動辦公_1300張辦公系列前臺參考圖,請您查收!

設計情報局室內設計師的靈感聚集地關注一個有格調的空間必定有一處高顏值的前臺漂亮的前臺很重要...是空間給人的第一印象一個獨一無二的前臺設計還可以提升整個空間的氣質與逼格連個漂亮的前臺都沒有作為顏控界扛把子的設計師們還怎么混&#xff1f;SO今天小編給大家帶來一份《…

iframe里面的元素觸發父窗口元素事件的jquery代碼 轉

例如父窗口定義了一個事件。 top: $(dom1).bind(topEvent, function(){}); 那么iframe里面的元素怎樣觸發父窗口dom1的事件呢&#xff1f;這樣嗎&#xff1f; $(dom1, parent.document).trigger(topEvent); 看似正確&#xff0c;實則誤導人。 因為父窗口的jquery對象與iframe里…

mplayer 所支持的音視頻編解碼

這里我把mplayer 所支持的音視頻編解碼都羅列出來&#xff0c;方便大家查閱&#xff1b;-----------------------------------------------------------------------------------------------Video codecs:Working video codecscodec namefourcccodecfileoutcommentsFFmpeg Zip…

使用ifconfig取出網卡eth0的ip地址

方法1&#xff1a;sed命令12[rootoldboyedu ~]# ifconfig eth0 |sed -n 2p |seds#^.*addr:##g|sed s# B.*$##g10.0.0.50方法2&#xff1a;cut12[rootoldboyedu ~]# ifconfig eth0|grep inetaddr|cut -d ":" -f2|cut -d " " -f110.0.0.50方法3&#xff1a;…

目標檢測_目標檢測 | Anchor free的目標檢測進階版本

今天說的是《Soft Anchor-Point Object Detection》&#xff0c;其也是最近關于anchor free的目標檢測的論文&#xff0c;作者來自于CMU&#xff0c;一作同樣也是FSAF(2019 CVPR)的作者。該論文的出發點還是在樣本選擇和FPN特征選擇層面。背景Anchor free是目標檢測領域的一個研…

Colly實現豆瓣電影Top250爬取

使用 Colly 實現 豆瓣電影Top250爬取 package mainimport ("encoding/csv""github.com/PuerkitoBio/goquery""github.com/gocolly/colly""log""os""strings""time" )type Movie struct {idx string…

homework1

一.什么是RUP?二.什么是XP?三.什么是敏捷過程&#xff1f; 一。什么是RUP?RUP是一種完整而且完美的軟件過程 1。最佳實踐 &#xff08;1&#xff09;迭代式開發 &#xff08;2&#xff09;管理需求 &#xff08;3&#xff09;使用基于構件軟件的體系結構 &#xff08;4&…

編程:休息片刻的好處

原文作者 Axel Rauschmayer 是一位居住在德國慕尼黑的自由軟件工程師。他在這篇博文列舉了在編程期間休息片刻的一些好處。 你會更精明而不是更賣力地工作。我曾經為了一個功能的實現而賣力工作過。每天12小時&#xff0c;整整工作了兩個星期。我付出了很多努力。那兩個星期之…

五個溫度帶的分界線_女神建筑師在拿破侖故鄉打造的海景別墅,超美!超有溫度!【環球設計2225期】...

生活的溫度 法國建筑師阿米莉亞塔維拉(Amelia Tavella)一直對設計充滿熱情&#xff0c;她出生在阿雅克肖市&#xff0c;在巴黎的建筑學院學習建筑專業&#xff0c;如今她居住普羅旺斯地區的艾克斯。她說&#xff1a;“設計讓我涉足很多有趣的領域并能充分發揮我的想象力。這是一…