30人がボートに乗って過負荷になり、15人が下船する必要があります。
つまり、人々は一列に並んでおり、その列の位置は彼らの番号です。
1から始まる番号を報告し、9まで数える人は下船します。
このようにサイクルし、ボートに残っている人が15人になるまで続きますが、ボートから降りた人の番号は何ですか?
実例
people={}
for x in range(1,31):
people[x]=1
# print(people)
check=0
i=1
j=0
while i<=31:
if i == 31:
i=1
elif j == 15:
break
else:
if people[i] == 0:
i+=1
continue
else:
check+=1
if check == 9:
people[i]=0
check = 0
print("{}号が下船しました".format(i))
j+=1
else:
i+=1
continue
上記の例を実行すると、出力結果は次のようになります。
9号が下船しました。
18号が下船しました。
27号が下船しました。
6号が下船しました。
16号が下船しました。
26号が下船しました。
7号が下船しました。
19号が下船しました。
30号が下船しました。
12号が下船しました。
24号が下船しました。
8号が下船しました。
22号が下船しました。
5号が下船しました。
23号が下船しました。
コメントを残す