题目:猴子选大王,现有n个猴子,一开始从第k个猴子开始从1开始报数,报到t的猴子会被淘汰,然后又从它的下一个猴子从1开始报数,如此循环,一直到只剩下一个猴子,这个猴子就是大王了,求得每次被淘汰猴子的编号及最后选出的猴大王编号。
#include<stdio.h>
#include<stdlib.h>
typedef struct ListNode node;
struct ListNode{
int data;//编号
node* next;
};
typedef struct LinkQueue{
node* front;
node* rear;
} Queue;
Queue* Build(Queue* S, int Data)//构建结构
{
if(S->rear == NULL){
node* p = (node* )malloc(sizeof(node));
S->front->next = p;
S->rear = p;
p->next = NULL;
p->data = Data;
return S;
}else{
node* p = (node* )malloc(sizeof(node));
S

本文解析猴子选大王问题的编程实现,通过计数和淘汰规则追踪每个猴子的命运,直至剩下一猴成为大王。涉及链表操作和淘汰条件判断。
最低0.47元/天 解锁文章
1443

被折叠的 条评论
为什么被折叠?



