| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1212 人关注过本帖
标题:关于出圈
取消只看楼主 加入收藏
jtsqrj
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-10-13
结帖率:25%
收藏
已结贴  问题点数:10 回复次数:4 
关于出圈
昨天晚上考试,有一题出圈问题很不能理解。。。
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
jtsqrj
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-10-13
收藏
得分:0 
回复 2楼 rjsp
就是说出圈问题。。。
2016-12-12 21:26
jtsqrj
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-10-13
收藏
得分:0 
回复 4楼 吹水佬
不应该有个循环吗,怎么做到的?
2016-12-12 23:27
jtsqrj
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-10-13
收藏
得分:0 
回复 7楼 吹水佬
这个m是什么值?还是不能清楚的理解。
2016-12-13 20:11
jtsqrj
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-10-13
收藏
得分:0 
回复 9楼 hxwj
这个懂了,主要是后面找出来的数如何操作
2016-12-13 21:33
快速回复:关于出圈
数据加载中...
 
   



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

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