| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3666 人关注过本帖, 1 人收藏
标题:求助,关于丢手帕问题
取消只看楼主 加入收藏
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:11 
求助,关于丢手帕问题
纠结
看视频教程是老师说有个丢手帕问题:N个孩子围成一圈报数,报到M的退出,剩下的再从1继续报数,,报到M的再退出,一直持续到只剩一个人,问剩下的是哪个。想独立解决这个问题,后来发现自己办不到,就降低难道,改为10的小孩围城一圈,报到4的退出,程序虽然费劲巴拉的写出来了,可总也不对,纠结2天了都没办法求助大家吧,帮看
程序代码:
#include<stdio.h>
main()
{
    int a[10]; /*定义一个有十个元素的数组,存放编号*/
    int i,j,*k,p=1,t=0,m=1; /*i,j用于循环,k为指向数组元素的指针,p用来记录指针移动次数*/
    for(i=0;i<10;i++)       /*t用来记录已经退出的个数,m累计10次后指针回归数组首元素*/
    a[i]=i+1;               /*为数组循环赋值1~10*/


    k=a;           /*指针指向首元素*/
    for(j=1;j<1000;j++)
    {
    if((m-1)%10==0)k=a;  /*m累计10次后指针回指*/
     if(*k==0){k++;m++;} /*若指针指向的元素值为0,指针下移,m累计加1*/
    if(p%4==0)
     {         /*指针有效移动(所指向元素不为0)后,将指针所致元素赋值为0,t累计加1*/
        *k=0;
        t++;
        if(t==9)   /*t累计为9(即已经有9个元素被赋值为0)后,跳出循环*/
        break;
     }

     k++; /*无论以上if语句是否成立,每次循环,k、m、p均累计加1*/
     m++;
     p++;
    }
    for(i=0;i<10;i++)
    {                  /*循环输出数组中值不为0的元素*/
        if(a[i]!=0)
        printf("%d\t",a[i]);
    }
    return 0;
}
各位朋友,我是没办法了,求助啊,帮我看看哪里的问题,感激不尽
搜索更多相关主题的帖子: 手帕 办不到 
2012-11-06 11:10
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
疑惑中,很茫然,
求助

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-06 11:15
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
10个孩子围成一圈,分别编号为1~10,开始报数,从1开始报,1,2,3,4,编号为4孩子报到4,那么他退出,继续从第5个孩子开始报1,2,3,4,编号为8的孩子报到4,它也退出,然后从9好孩子开始继续报,以此类推。

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-06 11:24
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
从昨天早上开始做这个题,将近2天了,我都快疯了。
诸位啊,为了世界上少个疯子,帮帮我吧,疯子很可怕的。。。。。
疯子挨个拍砖玩

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-06 11:28
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
4楼的兄弟能详细点吗???

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-06 11:29
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
求助

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-06 11:32
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
我这有答案,它的思路和我不太一样,我也不想看他,我想知道我写的哪里错了。

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-06 11:37
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
鄙视11楼,回复十楼,原题目是这样的:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到4报数),凡报到4的人退出
    圈子,问最后留下的是原来第几号的那位。
最后剩下的那个人之出去9个以后剩下的那个
1 2 3(4去掉继续)5 6 7(8去掉继续) 9 10 1(2去掉继续)3 5 6(7去掉继续)9 10 1(3去掉继续)5 6 9(10去掉继续)1 5 6(9去掉继续)1 5 6(1去掉继续)5 6 5(6去掉)最后剩5 即是所要的数
      

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-06 12:27
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
向 azzbcc 同学致敬
不是思路的问题,不是写法的问题,是欠缺缜密的思维,困扰我两天的问题原来是因为思维不够严密,
活该被憋疯啊
忏悔啊。。。。。。。。。。。。。。。。。。

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-06 17:00
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
链表学过,但单向循环链表没有

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-06 19:22
快速回复:求助,关于丢手帕问题
数据加载中...
 
   



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

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