网站页面
当前课程
成员
常规
第一章 C++语言入门
第二章 基本结构
第三章 实战演习
第四章 数组
第六章 函数
第七章 阶段检测2
第八章 指针
第九章 结构体
第十章 进制与位运算
第十一章 STL
猴子选大王
成绩 | 100 | 开启时间 | 2016年05月19日 星期四 19:30 |
折扣 | 0.8 | 折扣时间 | 2016年05月19日 星期四 19:30 |
允许迟交 | 是 | 关闭时间 | 2016年05月19日 星期四 19:30 |
输入文件 | monkey.in | 输出文件 | monkey.out |
【题目描述】猴子选大王(monkey.cpp/c/pas)
如图所示,由M(M≤999999)只猴子围成一圈,从1到M进行编号,打算从中选出一个大王。经过协商,决定出选大王的规则:从第一个开始循环报数,数到N(N≤100)的猴子出圈,最后剩下来的就是大王。试编程计算哪一个编号的猴子成为大王。(该问题最早由古罗马著名史学家Josephus提出,所以也叫约瑟夫问题。)
【输入格式】
输入文件为monkey.in,共一行,为两个数字,即M,N。
【输出格式】
输出文件为monkey.out,共一行一个数字,即猴王编号。
【输入样例】
3 2
【输出样例】
3
【算法说明】
请注意有一组数据的数据量较大,需要进行简单的优化。