| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1659 人关注过本帖
标题:50个人站成一圈,按1,2,3,4,5,开始报数,喊道3的人退出圈子,最后留下的是原来 ...
只看楼主 加入收藏
Merry_sf
Rank: 2
等 级:论坛游民
帖 子:30
专家分:24
注 册:2012-12-9
收藏
得分:0 
//50个人站成一圈,按1,2,3,4,5,开始报数,喊道3的人退出圈子,最后留下的是原来的几号
#define N 50
int main(void)
{
    int m[N]={0};
    int i;
    int j=0;
    int n=0;
    int p;
    for(p=0;p<N+1;p++)
    {
        n=0;
        for(i=0;i<N;i++)
        {
            if(m[i]!=1)
            {
                n++;
                j++;
                if(j==3)
                    m[i]=1;
                if(j==5)
                    j=0;
               
            }
        }
        if(n==1)
            break;
    }
    for(i=0;i<N;i++)
    {
        if(m[i]==0)
            printf("%d\n",i+1);
    }
    return 0;
}
2013-02-20 13:00
yuyilahanbao
Rank: 2
等 级:论坛游民
帖 子:25
专家分:19
注 册:2013-2-16
收藏
得分:0 
这违规了
2013-02-21 18:18
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
收藏
得分:0 
#include "stdio.h"
#define nmax 50
void main()
{
    int i,k,m,n,num[nmax],*p;
    printf("please input the total of numbers:");
    scanf("%d",&n);
    p=num;
    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("%d is left\n",*p);
}
2013-02-24 10:49
xxbuer
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2013-2-20
收藏
得分:0 
丢手绢问题嘛。
百度约瑟夫。
2013-02-24 15:53
w529790884
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-2-18
收藏
得分:0 
回复 9楼 a646698961
就是50个人站成一个圈按12345报数,喊到3的人退出圈子,最后留下的是几号
2013-02-26 19:52
w529790884
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-2-18
收藏
得分:0 
回复 14楼 xxbuer
不是的,约瑟夫是喊到M的人退出圈子,再重新开始喊,这道题喊完3以后还有4和5
2013-02-26 19:54
w529790884
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-2-18
收藏
得分:0 
回复 13楼 逆风而前
谢谢你的程序,但是答案好像不对,你写的是
if(*(p+i)!=0) k++;
    if(k==3)
    {
        *(p+i)=0;
        k=0;
        m++;
    }
    这就是说K到3以后就重新开始了,但是题目中还有4,5,我觉得有点问题
2013-02-26 19:59
nanicesky
Rank: 2
来 自:元外元
等 级:论坛游民
帖 子:31
专家分:76
注 册:2012-1-20
收藏
得分:0 
作业贴自己想办法去
2013-02-26 20:01
w529790884
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-2-18
收藏
得分:0 
回复 11楼 Merry_sf
嗯,谢谢,受教了
2013-02-26 20:09
w529790884
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-2-18
收藏
得分:0 
回复 12楼 yuyilahanbao
什么违规了
2013-02-26 20:12
快速回复:50个人站成一圈,按1,2,3,4,5,开始报数,喊道3的人退出圈子,最后留下的 ...
数据加载中...
 
   



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

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