白駿11866号:ジョセフス問題0
質問する
題ショートカットキー>白駿11866号:ジョセフス問題0
に答える
モジュール化演算を用いて解いた.
N, K = map(int, input().split())
round_table = [i for i in range(1,N+1)]
idx=0
print('<', end='')
while len(round_table)!=0:
if len(round_table)!=N:
print(', ', end='')
idx+=K-1
idx %= len(round_table)
print(round_table.pop(idx), end='')
print('>', end='')
コードの改良
idx+=K-1
idx %= len(round_table)
# 아래와 같이 한줄로도 표현 가능
idx=(idx+K-1)%len(round_table)
round_table = [i for i in range(1,N+1)]
# 아래와 같이도 표현 가능
round_table = list(range(1, N+1))
Reference
この問題について(白駿11866号:ジョセフス問題0), 我々は、より多くの情報をここで見つけました https://velog.io/@danbibibi/백준-11866번-요세푸스-문제-0テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol