C语言指针链表实现约瑟夫环

    科技2023-10-29  77

    问题描述:

    N个同学围一个圈,每个人被顺序地编号(1, 2 ,3, 。。。 , n), 从编号为K的同学开始报1, 他之后(顺时针)的人报2,以此类推,数到数字M的人出列。出列的同学下一个又从1开始报数,数到M的人出列,不断重复该过程,直到所有人出列为止。

    例如有 5 个人,要求从编号为 3 的人开始,数到 2 的那个人出列:

    出列顺序依次为:

    编号为 3 的人开始数 1,然后 4 数 2,所以 4 先出列; 4 出列后,从 5 开始数 1,1 数 2,所以 1 出列; 1 出列后,从 2 开始数 1,3 数 2,所以 3 出列; 3 出列后,从 5 开始数 1,2 数 2,所以 2 出列; 最后只剩下 5 自己,所以 5 出列。

    给出部分答案,要求填写完全:

    Processed: 0.013, SQL: 8