最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)約瑟夫環(huán)問題的方法

 更新時間:2016年05月03日 11:46:44   作者:阿涵-_-  
這篇文章主要介紹了Python實(shí)現(xiàn)約瑟夫環(huán)問題的方法,詳細(xì)分析了約瑟夫環(huán)問題的描述、原理與解決方法,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)約瑟夫環(huán)問題的方法。分享給大家供大家參考,具體如下:

題目:0,1,...,n-1這n個數(shù)字排成一個圓圈,從數(shù)字0開始每次從這個圓圈里刪除第m個數(shù)字。求出這個圓圈里剩下的最后一個數(shù)字。

定義函數(shù)f(n,m),表示每次在n個數(shù)字(0,1,...,n-1)中每次刪除第m個數(shù)字后最后剩下的數(shù)字。

在n個數(shù)字中,假設(shè)第一個被刪除的數(shù)字為k,那么刪除k之后剩下的n-1個數(shù)字為0~k-1,k 1~n-1,并且下一次刪除從數(shù)字k 1開始計數(shù)。第二個序列最后剩下的數(shù)字也就是我們要求的數(shù)字。于是我們對于剩下的n-1個數(shù)字重新編號,k 1編號為0,k 2編號為1,...,0編號為n-k-1,1編號為n-k,k-1編號為n-2,假設(shè)f(n-1, m) = x,即n-1個數(shù)中,每次刪除第m個,最后剩下的數(shù)字編號為x,那么這個x就對應(yīng)著原序列(n個數(shù))中的編號(x + m) % n??梢缘玫竭f推關(guān)系:

f(n,m)=0, n=1
f(n,m)=[f(n-1,m) + m]%n n>1

Python代碼:

#coding=utf8
'''
題目:0,1,...,n-1這n個數(shù)字排成一個圓圈,從數(shù)字0開始每次從這個圓圈里刪除第m個數(shù)字。求出這個圓圈里剩下的最后一個數(shù)字。
'''
def josephus(n, m):
  if type(n) != type(1) or n <= 0:
    raise Exception('n must be an integer(n > 0)')
  if n == 1:
    return 0
  else:
    return (josephus(n - 1, m) + m) % n
if __name__ == '__main__':
  print josephus(8, 3)
  print josephus(1, 2)
  print josephus(0, 2)

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python實(shí)現(xiàn)發(fā)送QQ郵件的封裝

    Python實(shí)現(xiàn)發(fā)送QQ郵件的封裝

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)發(fā)送QQ郵件的具體代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Django?+?Taro?前后端分離項(xiàng)目實(shí)現(xiàn)企業(yè)微信登錄功能

    Django?+?Taro?前后端分離項(xiàng)目實(shí)現(xiàn)企業(yè)微信登錄功能

    這篇文章主要介紹了Django?+?Taro?前后端分離項(xiàng)目實(shí)現(xiàn)企業(yè)微信登錄功能,本文記錄一下企業(yè)微信登錄的流程,結(jié)合示例代碼給大家分享實(shí)現(xiàn)思路,需要的朋友可以參考下
    2022-04-04
  • python中telnetlib模塊的使用方式

    python中telnetlib模塊的使用方式

    這篇文章主要介紹了python中telnetlib模塊的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Python應(yīng)用庫大全總結(jié)

    Python應(yīng)用庫大全總結(jié)

    本篇文章給大家分享了Python應(yīng)用庫大全的相關(guān)內(nèi)容,對此有需要的可以學(xué)習(xí)下。
    2018-05-05
  • Pandas缺失值填充 df.fillna()的實(shí)現(xiàn)

    Pandas缺失值填充 df.fillna()的實(shí)現(xiàn)

    本文主要介紹了Pandas缺失值填充 df.fillna()的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 對json字符串與python字符串的不同之處詳解

    對json字符串與python字符串的不同之處詳解

    今天小編就為大家分享一篇對json字符串與python字符串的不同之處詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python打印不合法的文件名

    Python打印不合法的文件名

    這篇文章主要介紹了Python打印不合法的文件名,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下的相關(guān)資料
    2020-07-07
  • 用python寫的一個wordpress的采集程序

    用python寫的一個wordpress的采集程序

    在學(xué)習(xí)python的過程中,經(jīng)過不斷的嘗試及努力,終于完成了第一個像樣的python程序,雖然還有很多需要優(yōu)化的地方,但是目前基本上實(shí)現(xiàn)了我所要求的功能,需要的朋友可以參考下
    2016-02-02
  • Python中serial庫的介紹及用法示例

    Python中serial庫的介紹及用法示例

    Python的serial庫是一個用于串口通信的Python擴(kuò)展庫,它提供了許多方法和功能,用于控制和配置串行端口以及讀取和寫入串行數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于Python中serial庫用法的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • 通過Python編寫一個簡單登錄功能過程解析

    通過Python編寫一個簡單登錄功能過程解析

    這篇文章主要介紹了通過Python編寫一個簡單登錄功能過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09

最新評論

安陆市| 中江县| 台前县| 通道| 北票市| 舟山市| 阜城县| 成都市| 博白县| 闽侯县| 竹山县| 衡阳市| 嘉鱼县| 万载县| 清徐县| 岳西县| 富平县| 营山县| 玉田县| 石首市| 清远市| 湖州市| 全州县| 蓬安县| 田阳县| 高青县| 同德县| 桑日县| 龙陵县| 刚察县| 龙井市| 江津市| 海伦市| 宁明县| 枝江市| 理塘县| 会宁县| 通山县| 潍坊市| 漳浦县| 二手房|