设有顺序编号为1至n的n个人,按顺时针顺序站成一个圆圈。首先从第一个人开始,从1开始顺时针报数,报到第m(<n)个人,令其出列。然后再从出列的下一个人开始,从1顺时针报数,报到第m个人,再令其出列,……,如此下去,直到圆圈不再有人为止。求这n个人出列顺序。
数组方式一 (使用一个结构体):
数组方式二 (数组中元素初始化为1~n,为0表示此人out):
链表方式 (构造一个循环链表):
设有顺序编号为1至n的n个人,按顺时针顺序站成一个圆圈。首先从第一个人开始,从1开始顺时针报数,报到第m(<n)个人,令其出列。然后再从出列的下一个人开始,从1顺时针报数,报到第m个人,再令其出列,……,如此下去,直到圆圈不再有人为止。求这n个人出列顺序。
数组方式一 (使用一个结构体):
数组方式二 (数组中元素初始化为1~n,为0表示此人out):
链表方式 (构造一个循环链表):