| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1204 人关注过本帖
标题:关于出圈
只看楼主 加入收藏
jtsqrj
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-10-13
结帖率:25%
收藏
已结贴  问题点数:10 回复次数:10 
关于出圈
昨天晚上考试,有一题出圈问题很不能理解。。。
int i,n,m,t,a[1024],c=1;
    scanf("%d%d",&n,&m);
    for(i=0;i<n-1;i++)
        a[i]=i+1;
    a[i]=0;
    while(n--)
    {
        while(1)
        {
            if(c%m==0)
            {
                t=a[i],a[i]=a[a[i]],c=1,i=t;
                break;
            }
            else
                i=a[i],c++;
        }
    }printf("%d\n",a[i]+1);
这是答案代码,拿着笔写了半天,还是不能明白,为什么感觉一次循环就可以求出值了?求详解。谢谢
2016-12-12 14:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:0 
你应该去问“晚上考试”的人呀,我们哪能算得出题目是什么
2016-12-12 14:26
jtsqrj
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-10-13
收藏
得分:0 
回复 2楼 rjsp
就是说出圈问题。。。
2016-12-12 21:26
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:10 
1、将要出圈的人之前的人转移到最后
2、要出圈的人出圈
3、重复1、2直到最后
2016-12-12 21:37
jtsqrj
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-10-13
收藏
得分:0 
回复 4楼 吹水佬
不应该有个循环吗,怎么做到的?
2016-12-12 23:27
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
以下是引用jtsqrj在2016-12-12 23:27:52的发言:

不应该有个循环吗,怎么做到的?

3、重复1、2直到最后
这就是循环了
2016-12-13 07:30
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
这类问题,似一种扑克游戏的玩法:
1、全部纸牌反面向上拿在手上。
2,先反开一张出是1。
3、顺序逐张取m张放到底部。
4、再反开一张出是2。
................
重复3、4,依次反出的牌序是:1、2、3、......J、Q、K
问:一开始手上纸牌的顺序是怎样?
2016-12-13 07:41
jtsqrj
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-10-13
收藏
得分:0 
回复 7楼 吹水佬
这个m是什么值?还是不能清楚的理解。
2016-12-13 20:11
hxwj
Rank: 2
等 级:论坛游民
帖 子:75
专家分:34
注 册:2016-12-8
收藏
得分:0 
for(i=0;i<n-1;i++)
         a[i]=i+1;
这个是关键,循环结束时,i=n-1
2016-12-13 20:50
jtsqrj
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-10-13
收藏
得分:0 
回复 9楼 hxwj
这个懂了,主要是后面找出来的数如何操作
2016-12-13 21:33
快速回复:关于出圈
数据加载中...
 
   



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

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