思路:使用队列模拟。

判断是否为出圈的数。如果不是,把数加入队列尾部;如果是,输出并删除。

题目背景

约瑟夫是一个无聊的人!!!

题目描述

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

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner; public class Main{ public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int m=in.nextInt();
Queue<Integer> q=new LinkedList<Integer>();
for(int i=1;i<=n;i++)
q.add(i);
int k=0;
while(q.size()>0)//判断队列中是否还有元素
{
if(++k%m==0)//报数到m,说明该数字需出圈
System.out.print(q.remove()+" ");//输出删除该数
else
q.add(q.remove());//如果是非出圈数,将该数删除并加入队列尾部
}
} }

最新文章

  1. jvisualvm参数配置
  2. 如何利用java得到当前的时间和前一天的时间
  3. Angular系列----AngularJS入门教程01:AngularJS模板 (转载)
  4. nyoj 115 城市平乱 dijkstra最短路
  5. 【笨嘴拙舌WINDOWS】字符类型与字符串
  6. Quartz.NET作业调度框架详解
  7. 关于perl闭包(个人理解)
  8. Ajax跨域问题的出现和解决
  9. Promise实现小球的运动
  10. Python面向对象——基本继承
  11. VMware虚拟化培训手册
  12. @property、@sythesize以及Ivar和@dynamic讲解(下)
  13. MyBatis动态SQL之一使用 if 标签和 choose标签
  14. day12--装饰器
  15. Python网络爬虫实战:根据天猫胸罩销售数据分析中国女性胸部大小分布
  16. sql&gt;desc 存储包——查看包内存储过程、函数
  17. 【JMeter】【接口测试】csv参数化,数据驱动,自动化测试
  18. Vue 全局注册逐渐 和 局部注册组件
  19. Django的学习(三)————models
  20. Odoo作为后端时如何返回数据给webapp、移动端app

热门文章

  1. Python+argparse+notebook
  2. 1GB === 1000MB &amp; 1GB === 1024MB
  3. js regular expression &amp; email checker
  4. Clean Code of JavaScript
  5. taro demos &amp; taro 组件库
  6. Flutetr flutter_downloader 1.3.1
  7. NGK.IO的智能合约是炒作还是未来商业的主流?
  8. 解决异常: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate failed: Cannot instantiate object of type tk.mybatis.mapper.generator.MapperPlugin -&gt; [Help 1]
  9. ERROR 1040 (HY000) Too many connections
  10. 第39天学习打卡(UDP多线程在线咨询 URL)