Problem1326--约瑟夫问题1326: 约瑟夫问题
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 173 Solved: 106
[Submit] [Status] [Web Board] [Creator:]Description
问题:n个人围成一个圈,每个人分别标注为1、2、...、n,要求从1号从1开始报数,报到k的人出圈,接着下一个人又从1开始报数,如此循环,直到只剩最后一个人时,该人即为胜利者。
例如当n=10,k=4时,依次出列的人分别为4、8、2、7、3、10,9、1、6、5,则5号位置的人为胜利者。
给定n个人,请你编程计算出最后胜利者标号数。(要求用单循环链表完成。)
链表节点结构如下:
typedef struct List
{
int data;
struct List *next;
}linkList;
Input
10
4
Output
5
Sample Input
10
4
Sample Output
5
Source/Category
[Submit] [Status]