假設母牛第3歲到第7歲會生產1頭母牛,第11歲死亡。假設第一年有1頭1歲小牛,輸入乙個表示年數的正整數n,輸出母牛個數。
例如:第三年,2頭牛;第五年,5頭牛;第十二年,123頭牛
分析:分為四種狀態,1-2歲,3-7歲(生產1歲牛),8-10歲,11歲以後(不計)
狀態模擬:
# -*- coding: utf-8 -*-
# @time : 2019/4/27
# @author : zhao huilin
# @filename: 19_0427_cowsnum.py
# @software: pycharm
# @blog :
class group():
def __init__(self):
self.new_one = [1]
self.old_one =
self.born_one =
self.new_born =
self.born_old =
self.old_death =
def year_add(self):
self.new_process()
self.born_process()
self.old_process()
def new_process(self):
self.new_born =
for i,j in enumerate(self.new_one):
self.new_one[i] += 1
for i in self.new_one[::-1]:
if i>2:
self.new_one.remove(i)
def born_process(self):
self.born_old =
for i,j in enumerate(self.born_one):
self.born_one[i] += 1
for i in self.born_one[::-1]:
if i>7:
self.born_one.remove(i)
for j in self.new_born:
for k in self.born_one:
def old_process(self):
self.old_death =
for i,j in enumerate(self.old_one):
self.old_one[i] += 1
for i in self.old_one[::-1]:
if i>10:
self.old_one.remove(i)
for j in self.born_old:
def years_add(self,n):
for i in range(n-1):
self.year_add()
self.show()
def show(self):
print('new:')
print(self.new_one)
print('born:')
print(self.born_one)
print('old')
print(self.old_one)
print('total:',len(self.new_one)+len(self.born_one)+len(self.old_one))
g = group()
g.years_add(5)
過程精簡
# -*- coding: utf-8 -*-
# @time : 2019/4/27
# @author : zhao huilin
# @filename: 19_0427_cowsnum.py
# @software: pycharm
# @blog :
def get_cow(n):
groups = [1]
for i in range(n-1):
born_num = 0
for i, j in enumerate(groups):
groups[i] += 1
if(groups[i])>2 and groups[i]<8:
born_num+=1
for i in groups[::-1]:
if i > 10:
groups.remove(i)
for i in range(born_num):
print(len(groups))
get_cow(12)
演算法題解 遞迴 母牛的數量
description有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?input輸入資料由多個測試例項組成,每個測試例項佔一行,包括乙個整數n 0output對於每個測試例項,輸出在第n年的時候母牛的數量。每個輸出...
4 27 關於python的題目
隨機密碼生成。編寫程式,在26個字母大小寫和9個數字組成的列表中隨機生成10個8位密碼。效果如圖所示.import randoma a b c d e f g h i j k l m n o p q r s t u v w x y z a b c d e f g h i j k l m n o p ...
東華OJ第86題 母牛的數量
86 母牛的數量 問題描述 有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?說明 假設在第n年及之前所有牛都不曾死亡。輸入說明 首先輸入乙個t,表示以下包含t行輸入資料 測試例項 每行包括乙個整數n 0輸出說明 對...