100道Python編程題

來源:互聯網
上載者:User
1、給定一個最大值n(10>n>=0),求0-n之間的整數可以組成多少個奇數。

分析:

首先分析組成數位首位:不能為0,可放數字為n個然後分析末位:必須為奇數,可放數字為odd[1,n]個最後分析中間位:範圍內任一數字,可放數字為n+1個
def get_odd(n):    first = n    last = len([x for x in range(n+1) if x%2 !=0 ])    sum = last+first*last    if n <2:return sum    for i in range(2,n+1):        middle = (n + 1) ** (i - 1)        sum += first*middle*last    return sum
10、海灘上有一堆桃子,五隻猴子來分。第一隻猴子把這堆桃子平均分為五份,多了一個,這隻猴子把多的一個吃掉,拿走了一份。第二隻猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個吃掉,拿走了一份,第三、第四、第五隻猴子都是這樣做的,問海灘上原來最少有多少個桃子
def get_min_peaches(n):    i = 1    plus = n*(n-1)    def if_match(ret):        for j in range(n):            modn = (ret - 1) % n            if modn != 0:                return False            ret = (ret-1)/n*(n-1)        return True    while True:        if if_match(i):            break        i += plus    return i
11、一隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的台階總共有多少種跳法。
def jump_step(n):    result = lambda n: n if n < 2 else 2 * jump_step(n - 1)    return result(n)
100、實現一個二叉樹
class Tree():    def __init__(self,ltree = 0,rtree = 0,data = 0):        self.ltree = ltree        self.rtree = rtree        self.data = dataclass BTree():    def __init__(self,base = 0):        self.base = base    def _Empty(self):        if self.base == 0:            return True        else:            return False    def qout(self,tree_base):        if tree_base == 0:            return        print tree_base.data        self.qout(tree_base.ltree)        self.qout(tree_base.rtree)    def mout(self,tree_base):        if tree_base == 0:            return        self.mout(tree_base.ltree)        print tree_base.data        self.mout(tree_base.rtree)    def hout(self,tree_base):        if tree_base == 0:            return        self.hout(tree_base.ltree)        self.hout(tree_base.rtree)        print tree_base.data

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.