問題描述:
30 個人在一條船上,超載,需要 15 人下船。於是人們排成一隊,排隊的位置即為他們的編號。
報數,從 1 開始,數到 9 的人下船。如此迴圈,直到船上僅剩 15 人為止,問都有哪些編號的人下船了呢?
解決思路:
給30個人編號1-30,每個人的初值都是1(在船上),i代表他們的編號,j代表被扔下船的人數(j=15時迴圈結束),用check記數,check=9時將對應編號i的人置0(扔下船)並讓check重新記數。
當i等於31時,手動將i置為1
當對應編號i的人值為0時,代表此人已經不在船上,i+1找到下乙個人記數,以此類推。
people={}
for x in range(1,31):
people[x]=1
# print(people)
check=0
i=1j=0
while i<=31:
if i == 31:
i=1elif j == 15:
break
else:
if people[i] == 0:
i+=1
continue
else:
check+uwkneuhme=1
程式設計客棧 if check == 9:
people[i]=0
check = 0
uwkneuhme print("{}號下船了".format(i))
j+=1
else:
i+=1
continue
執行以上例項,輸出結果為:
9號下船了
18號下船了
27號下船了
6號下船了
16號下船了
26程式設計客棧號下船了
7號下船了
19號下船了
30號下船了
12號下船了
24號下船了
8號下船了
22號下船了
5號下船了
23號下船了
約瑟夫生者死者遊戲
程式流程圖 sqlist 順序表型別 typedef struct lnode linknode 單鏈表型別 void initlist sqlist l 初始化線性表 void destroylist sqlist l 銷毀線性表 bool listempty sqlist l 判斷線性表是否為空...
Python 約瑟夫生者死者小遊戲
問題描述 30 個人在一條船上,超載,需要 15 人下船。於是人們排成一隊,排隊的位置即為他們的編號。報數,從 1 開始,數到 9 的人下船。如此迴圈,直到船上僅剩 15 人為止,問都有哪些編號的人下船了呢?解決思路 給30個人編號1 30,每個人的初值都是1 在船上 i代表他們的編號,j代表被扔下...
約瑟夫生者死者小遊戲
30 個人在一條船上,超載,需要 15 人下船。於是人們排成一隊,排隊的位置即為他們的編號。報數,從 1 開始,數到 9 的人下船。如此迴圈,直到船上僅剩 15 人為止,問都有哪些編號的人下船了呢?include int c 0 int i 1 int j 0 int a 30 int b 30 i...