全排列,素數,兔子繁殖

2021-08-02 12:33:50 字數 1408 閱讀 9239

最近興趣所向,研究python,寫了些經典問題**,網友們看看,歡迎批評指正

##全排列

##取任意乙個元素

##記錄這個元素

##剩下的生成乙個新的list

##取任意乙個元素

##記錄這個元素

##剩下的生成乙個新的list

##......

##直到新的list有且只有乙個元素

##記錄這個元素

##合併之前記錄的元素

def recursion(x,y,z):

lens = len(y)

if lens == 1:

x = x + y[0]

for i in range(0,lens):

x0 = y[i]

y0 = y.copy()

y0.remove(x0)

x0 = x + x0

recursion(x0,y0,z)

list0 = ['1','2','3','4','5','6']##輸入序列

list1 = ##全排列

recursion('',list0,list1)

print(list1)

print(len(list1))

# 求素數

import math

p = [2] #素數表

for a in range(2,10000):

for b in p:

c = a % b

if( c == 0):

break

c = 1 #標記

if(b > math.sqrt(a)):

break #大於某數的平方根就不可能找到素數了

if c > 0:

print(a)

def getcount(months):

count = 0

if(months <= 2):#不足兩個月生不出來

return count

for i in range(1,months + 1):

if(i == 1 or i == 2):

continue #前兩個月不生

count = count + 1

count = count + getcount(months + 1 - i) #看剛生下的這對兔子能生多少

return count

##友情提醒 不要寫太久 我這台電腦40個月就要等待了

months = int(input("你準備讓這對兔子活多少個月?"))

count = 0

count = 1 + getcount(months)

print(count)

2 3 2 兔子繁殖

2 兔子繁殖 有一種兔子,出生後乙個月就可以長大,然後再過乙個月一對長大的兔子就可以生育一對小兔子且以後每個月都能生育一對。現在,我們有一對剛出生的這種兔子,那麼,n個月過後,我們會有多少對兔子呢?假設所有的兔子都不會死亡。輸入格式 輸入檔案僅一行,包含乙個自然數n。輸出格式 輸出檔案僅一行,包含乙...

兔子繁殖問題

問題 有一對小兔子,從出生後第3個月起每個月都生一對兔子。小兔子長到第3個月後每個月又生一對兔子。按此規律,假設沒有兔子死亡,第乙個月有一對剛出生的小兔子,問第n個月有多少對兔子?分析 這個月的兔子只有兩個 乙個 是上個月的老兔子活到了這個月,另乙個 是這個月剛出生的兔子,而這個月剛出生的兔子,個數...

兔子繁殖(動態規劃)

有一種兔子,出生後乙個月就可以長大,然後再過乙個月一對長大的兔子就可以生育一對小兔子且以後每個月都能生育一對。現在,我們有一對剛出生的這種兔子,那麼,n個月過後,我們會有多少對兔子呢?假設所有的兔子都不會死亡。輸入僅一行,包含乙個自然數n n 40 輸出僅一行,包含乙個自然數,即n個月後兔子的對數。...