理解約瑟夫環應用題代碼

    時間:2021-06-12 09:18:55 試題 我要投稿

    關于理解約瑟夫環應用題代碼

      題目:

      有二十九個女生(分別用1-29號來稱呼)圍成一圈玩報數游戲,規則是這樣的:從1開始數數,當數到3的這個人就退出游戲,而她后面的人接著從1數。。。如此一直到最后剩下一個人,現在知道最初是從13號女生開始的游戲,問最后剩下的`會是第幾號女生?

      要求:

      1用批處理解答

      2代碼簡潔高效

      3代碼通用且不生成臨時文件

      加分原則:

      以思路為重(如思路獨特,請簡要說明)

      完全符合要求的加10分

      已有兩套解決方案,見3樓more和6樓ieutk版主的代碼,但個人認為這兩套方案均不完美(見本人的跟貼評述),期

      待完美方案的出現,大家加油了!!!

      注:約瑟夫問題

      約瑟夫問題是個有名的問題:N個人圍成一圈,從第一個開始報數,第M個將被殺掉,最后剩下一個,其余人都將被殺掉。例如N=6,M=5,被殺掉的人的序號為5,4,6,2,3。最后剩下1號。

      more:

      復制代碼 代碼如下:

      @echo off

      set "str=13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 2 3 4 5 6 7 8 9 10 11 12"

      :again

      for /f "tokens=1,2,4*" %%a in ("%str%") do (

      if not "%%c"=="" (set "str=%%c %%d %%a %%b"&goto :again) else (echo %%b&pause&exit)

      )

      ieutk:

      復制代碼 代碼如下:

      @echo off

      setlocal enabledelayedexpansion

      for /l %%a in (12 -1 1) do set "str= %%a !str!"

      for /l %%a in (29 -1 13) do set "str= %%a !str!"

      :main

      set "ie=0"

      for %%a in (%str%) do set /a ie+=1

      if %ie% neq 1 (

      for %%a in (%str%) do (

      set /a num+=1

      if !num! equ 3 (

      set "num=0"

      set "str=!str: %%a =!

      )

      )

      goto main

      )

      echo %str%

      pause

      batman:

      復制代碼 代碼如下:

      @echo off&setlocal enabledelayedexpansion

      for /l %%a in (13,1,29) do set "str=!str! #%%a#"

      for /l %%a in (1,1,12) do set "str=!str! #%%a#"

      :lp

      for %%a in (!str!) do (

      set /a n+=1

      if !n! equ 3 set "str=!str: %%a=!"&set /a n=0

      )

      for /f "tokens=2" %%a in ("%str%") do if "%%a" neq "" goto lp

      echo 最后剩下的是%str:#=%號&pause>nul

    【理解約瑟夫環應用題代碼】相關文章:

    廿二軍規與約瑟夫海勒12-06

    《杜環小傳》閱讀理解及參考答案03-21

    看約瑟夫·愛潑斯坦《嫉妒》有感07-19

    黑色幽默與約瑟夫海勒(1)12-06

    最新的約瑟夫·布羅茨基經典句子02-21

    中班語言:約瑟夫有件舊外套08-23

    文言文閱讀理解之環翠亭記05-10

    曲阜師范大學代碼及專業代碼08-05

    js代碼改寫成jq代碼的方法03-14

    国产一级a爱做免费播放_91揄拍久久久久无码免费_欧美视频在线播放精品a_亚洲成色在线综合网站免费

      亚洲精品自在在线 | 日本好好热aⅴ | 亚洲AV秘一区二区色 | 天天高清在线看片 | 日韩欧美高清中文字幕免费一区二区 | 色悠久久久久综合网伊人男男 |