| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1247 人关注过本帖
标题:帮忙找一下原因--猴子选大王
取消只看楼主 加入收藏
wangyf
Rank: 2
等 级:论坛游民
帖 子:40
专家分:45
注 册:2009-6-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
帮忙找一下原因--猴子选大王
为什么输入6,5会出现2?应该是一~~~
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
struct M
{
    int num;
    struct M *next;
};
int main(void)
{
    int i, j, n, t;
    struct M *p, *q, *head;
    p = (struct M*)malloc(sizeof(struct M));
    printf("The number of monkeys: ");
    scanf("%d", &n);
    printf("The amount of count: ");
    scanf("%d", &t);
    for(i = 1;i <= n;i++)
    {
        q = (struct M*)malloc(sizeof(struct M));
        q->num = i;
        if(i == 1) head = q;
        p->next = q;
        p = q;
    }
    p->next = head;
    p = head;
    for(i = 0;i <= n-2;i++)
    {
        for(j = 0;j <= t-1;j++)
        {
            q = p;
            p = p->next;
        }
        q->next = p->next;
        free(p);
        p = q;
    }
    printf("The king: %d\n", p->num);
    return 0;
}
谢谢
搜索更多相关主题的帖子: 大王 猴子 
2009-08-12 13:43
wangyf
Rank: 2
等 级:论坛游民
帖 子:40
专家分:45
注 册:2009-6-27
收藏
得分:0 
是有n个猴子,从第一个开始,每过t个猴子删去一个猴子,知道只剩一个猴子就是大王
2009-08-12 14:35
wangyf
Rank: 2
等 级:论坛游民
帖 子:40
专家分:45
注 册:2009-6-27
收藏
得分:0 
猴子选大王:n只猴子围成一圈,顺序编号。从第一只开始报数(从1到t报数),凡报到t的猴子退出圈子,然后从下一个人重新开始,最后留下的那个猴子就是大王,请问按照这种规则,选出的猴子是原来编号为第几号的猴子。
2009-08-12 15:48
快速回复:帮忙找一下原因--猴子选大王
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012735 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved