| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 597 人关注过本帖
标题:约瑟夫环句子理解
只看楼主 加入收藏
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
结帖率:100%
收藏
已结贴  问题点数:50 回复次数:6 
约瑟夫环句子理解
main()
{
  int i,k,m,n,num[50],*p=num;
  printf("\nInput the number of person n=");
  scanf("%d",&n);
  for(i=0;i<n;i++)
    *(p+i)=i+1;
  i=0;k=0;m=0;
  while(m<n-1)
   {
    if(*(p+i)!=0) k++;
    if(k==3)
     {
      *(p+i)=0;
      k=0;
      m++;
     }
    i++;
    if(i==n) i=0;
   }
   while(*p==0)p++;

   printf("the last one is No.%d\n",*p);
}
这几句是什么意思啊想了半天没想通,各位帮说下,感激不尽
搜索更多相关主题的帖子: 约瑟夫 
2009-09-08 22:54
lin8511
Rank: 2
等 级:论坛游民
帖 子:3
专家分:12
注 册:2009-8-9
收藏
得分:5 
i++ 就是数组下标自加,因为上面引用了*(p+i),而*(p+i)就是等于num[i];
if(i==n) i=0, 如果下标i等于n的时候,下标又重0开始,
while(*p==0),p++ 因为*p=num, 也就是把p指向num[0],  
                 p++,就是使指针p指向数组的下一个元素, 直到数组元素不等于0退出while循环
 
 
本人是新手,表达能力可能不是很清楚,不知是否明白
2009-09-09 09:46
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
收藏
得分:0 
回复 2楼 lin8511
呵呵不好意思了我问的不是这个意思我再想想

参与切磋是美德,每天回帖即可获得10分可用分!
2009-09-09 10:55
北冥云
Rank: 2
等 级:论坛游民
帖 子:38
专家分:32
注 册:2009-4-6
收藏
得分:20 
回复 楼主 xdyuan33
i==n代表如果查找完数组的最后一个元素了接下来就要从头查找,实际上完全可以用求余解决
2009-09-09 11:11
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:25 
这不是跟选猴王一样吗,假如有10只猴,围成一个圈,从1数到3,数到3的杀掉(你程序上是与0来表示),数到最后剩下一个的就是猴王。
只要懂这游戏,下面就好懂了。
·
i++;    /* 这里一只只数。 */
if(i==n) i=0;    /* 这里是如果数到最后一个,接着转到头一个数 */
·   
while(*p==0)p++;  /* 到这里只乘下最后一个了,0代表杀掉的,非0的就是猴王了 ,找到输出*/

努力—前进—变老—退休—入土
2009-09-09 16:33
baikil
Rank: 10Rank: 10Rank: 10
来 自:X星球
等 级:青峰侠
威 望:4
帖 子:282
专家分:1580
注 册:2009-7-20
收藏
得分:0 
约瑟夫原来是个杀独猴的啊,........

自创QQ群64885635,方便C#学习交流.希望各项工作路好学都好入!
2009-09-09 16:41
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
我想他应该杀过吧。

努力—前进—变老—退休—入土
2009-09-09 16:44
快速回复:约瑟夫环句子理解
数据加载中...
 
   



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

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