1122: 乔瑟夫问题_1
文件提交:无需freopen
内存限制:64 MB
时间限制:1.000 S
评测方式:普通裁判
命题人:
提交:1
解决:1
题目描述
N个人(编号为1,2,…,n)顺时针围成一圈,从1号开始报数,数到M的人出圈,剩余的人仍然围成一圈;下一个人从1开始重新报数,数到M的人出圈。重复上述过程,输出依次出圈的人的编号。
输入
两个整数n和m,用空格进行分割。
输出
依次出圈人的编号
样例输入
20 3
样例输出
3 6 9 12 15 18 1 5 10 14 19 4 11 17 7 16 8 2 13 20
提示
【分析】
(1) 每个人有两种状态:已出圈,true;仍在圈内,false。
(2) 用bool类型的数组记录每个人的状态:开始时全为false。
(3) 用循环模拟报数的过程,直到所有的人出圈为止:
仍在圈内(false)的人才会参与报数;
报到M的人出圈(falsetrue);
下一个从1开始报数
(1) 每个人有两种状态:已出圈,true;仍在圈内,false。
(2) 用bool类型的数组记录每个人的状态:开始时全为false。
(3) 用循环模拟报数的过程,直到所有的人出圈为止:
仍在圈内(false)的人才会参与报数;
报到M的人出圈(falsetrue);
下一个从1开始报数