(1)了解約瑟夫環問題。
(2)了解 python 標準庫 itertools 中的常用函式。
(3)熟練運用列表切片操作。
(4)熟練運用迴圈結構和選擇結構。
(5)熟練運用列表方法。
(6)熟練掌握函式定義與使用。
(7)理解迭代器物件和使用內建函式 next()訪問迭代器物件中元素的方法。
有n個人圍成一圈,從1開始按順序編號,從第乙個人開始從1到k(假設k=3)報數,報到k的人退出圈子;然後圈子縮小,從下乙個人繼續遊戲,問最後留下的是原來的第幾號。編寫程式,模擬上面的遊戲,要求初始人數=和報數臨界值k可以自由指定。執行程式並觀察遊戲進行的過程。使用兩種方法實現,並簡單分析其優劣。
import itertools;
import random;
a_list =
list()
;n =
int(
input
("請輸入總人數:"))
;k =
int(
input
("請輸入報數臨界值:"))
;a_list =
[i for i in
range(1
,n+1)]
;
cs = itertools.cycle(a_list)
;i =0;
j =0
;for c in cs:
if a_list[c-1]
!=-1:
i +=1;
if i == k:
i =0;
a_list[c-1]
=-1;
j +=1;
if j == n-1:
break
;
c =max
(a_list)
;print
("最後留下的是原來的"
,c,"號"
);
第六次實驗
一.問題給 檔名稱 第6次上機實驗 作 者 梁一意 完成日期 2017 年 5 月 5 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 輸入的s為 we are the world 輸入的字元c為 w 問題描述 從字串s 從鍵盤輸入 中刪除所有的字元c 從鍵盤輸入 刪除 要求使用字元...
第六次實驗
part1 結構體型別及程式設計應用 1 補足程式ex1 2.cpp include const int n 5 定義結構體型別struct student,並定義stu為其別名 typedef struct student stu 函式宣告 void input stu s,int n int f...
第六次上機實驗
檔名稱 專案1 陣列操作 作 者 賴詩文 完成日期 2016 年 5 月 19 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 要插入的數和要刪除的數 問題描述 從鍵盤中輸入乙個數x,刪除a陣列中值為x的陣列元素,從鍵盤中輸入乙個數x,將x插入到a陣列後陣列a依然有序 程式輸出 經過...