17965 幸运之星(优先做)

这是一道编程题,要求使用C++语言解决。题目描述简洁,需要根据输入格式和输出格式进行程序设计。样例输入和输出已给出,供编程时参考。时间限制为100MS,代码大小限制为10KB。目前还没有任何提交和通过的情况。
摘要由CSDN通过智能技术生成

时间限制:100MS  代码长度限制:10KB
提交次数:0 通过次数:0

题型: 编程题   语言: G++;GCC;VC;JAVA

Description

每年新年派对的最后一个节目就是选出下年的“幸运之星”,有丰厚的大礼包的噢~~。  O(∩_∩)O
所以每位参加派对的人士都摩拳擦掌跃跃欲试。选择的办法是这样约定的:

(1)所有参与的人员数n,让n个人一字排开,然后至左向右从1开始报数,凡报到奇数号的全部后退剔除,剩下的人员,
又至左向右报数,逢奇剔除,如此不断的递归下去,直至只有一个人为止,这个人就是“幸运之星”。

(2)所有参与的人员数n,先随机抽取一个m值(从黑暗小箱中随机摸一个,m可能比n小或相等,也可能大于n),所有
参与的人员列成环形,然后从位置1开始报数,凡报到m的倍数的人后退剔除,剩下的人员,从刚才位置继续报数,逢m的
倍数的人剔除,如此不断的递归下去,直至只有一个人为止,这个人就是“幸运之星”。 如:n=8,m=4,如下图所示,幸
运之星为6号。


现在,请你分析上面两种节目方式,若想获得幸运大礼包,应该选哪个初始编号的位置来站?

注意此题设置的时限很短,也就不建议你采用队列或循环列表去模拟这个剔除的过程而得到最后的
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值