P1996 约瑟夫问题
Luogu
应用
题库
训练
比赛
记录
讨论
13.2K
通过
24.6K
提交
题目提供者 Timothy
评测方式 云端评测
标签 洛谷原创
难度 普及-
时空限制 1000ms / 128MB
提交 题解
提示:收藏到任务计划后,可在首页查看。
最新讨论 显示
推荐的相关题目 显示
题目背景
约瑟夫是一个无聊的人!!!
题目描述
n个人(n<=100)围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,……依次类推,直到所有的人都出圈,请输出依次出圈人的编号.
输入输出格式
输入格式:
n m
输出格式:
出圈的编号
输入输出样例
输入样例#1: 复制
10 3
输出样例#1: 复制
3 6 9 2 7 1 8 5 10 4
说明
m, n \le 100m,n≤100
来源:洛谷;
思路:
利用循环语句把待排序人员做编号
for(i=1;i<=n;i++)a[i]=i;
t=n+1;
下一步条件循环:如果指针指向的人的编号不是要出列的编号,保留并将数组延长,使得条件可以循环进行
if(bs!=m){
bs++;
a[t]&