一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 452|回复: 3
收起左侧

[编程题] 新人小白求助约瑟夫环问题

[复制链接] |试试Instant~ |关注本帖
liusicong999 发表于 2015-4-6 10:25:54 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。


输入(Input)
[size=1em]输入包含两个整数,第一个是n,第二个是m (1<m,n<=300)。
[size=1em]输出(Output)
[size=1em]输出包含一行,即最后猴王的编号。
[size=1em]如果选用java的循环列表怎么做呢?求各位大神帮忙!非常感谢!(大米回报)

 楼主| liusicong999 发表于 2015-4-6 10:27:04 | 显示全部楼层
希望各位大神能帮一下忙!!
回复 支持 反对

使用道具 举报

kurtwang 发表于 2015-4-6 10:58:52 | 显示全部楼层
本帖最后由 kurtwang 于 2015-4-6 11:04 编辑

只想到了naive的方法
用arraylist,一直remove直到size==1的时候停止大致就是把1-n加到arraylist里面
然后每次remove掉(m%arraylist.size-1)(减一是因为下标从0开始)
直到arraylist.size==1就可以停止了
时间复杂度大概是nm
回复 支持 反对

使用道具 举报

tailofjune 发表于 2015-4-6 13:10:35 | 显示全部楼层
你都知道这是什么问题了,自己去搜索一下不行吗?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-9 22:45

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表