| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 467 人关注过本帖
标题:请高手指教提示思路,编程实现
只看楼主 加入收藏
gengning938
Rank: 2
等 级:论坛游民
帖 子:12
专家分:10
注 册:2010-5-13
结帖率:60%
收藏
已结贴  问题点数:15 回复次数:2 
请高手指教提示思路,编程实现
有n个人,从第一个人开始报数,报到m的出列,再从下一个开始报数,直到最后一个人为幸运者;请高手提示思路,如何编程实现
搜索更多相关主题的帖子: 思路 提示 指教 
2010-05-19 18:52
ww稻草人
Rank: 5Rank: 5
来 自:陕西西安
等 级:职业侠客
帖 子:57
专家分:309
注 册:2010-5-11
收藏
得分:15 
    这是约瑟夫环问题,用n记录人数,再用一个循环控制数数即用i累加,然后用一个m值记录要报到的密码,当报到的数i等于要报道的密码m时,将此时的报到i的人的密码赋给m,然后让i置为1,删除此人;重新开始循环报数,当n等于1时结束。

我的博客  http://blog..cn/daocaoren020
2010-05-19 19:04
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
收藏
得分:0 
#include<stdio.h>
int main()
{
    int i,j,n,m;
    while(scanf("%d%d",&n,&m)!=EOF){
        for(j=1,i=2;i<=n;i++)
            j= j+m>i ? j+m-i:j+m;
        printf("remain %d\n",j);
    }
    return 0;
}

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2010-05-19 19:06
快速回复:请高手指教提示思路,编程实现
数据加载中...
 
   



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

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