问题:

N个人从1到N编号。围城一圈,从1開始报数, 数到X时,将X的编号输出,并将那个人踢出,

下一个从1再開始报数,直到全部人都出去

思路:

就是计数。移除,没有太深的思想,直接上代码:

package test;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* N个人从1到N编号,围城一圈,
* 从1開始报数, 数到X时,将X的编号输出,并将那个人踢出,
* 下一个从1再開始报数,直到全部人都出去
* @author anjl
*
*/
public class My_JosephCircle { public static void main(String[] args) {
List alist = new ArrayList(); System.out.println("请输入约瑟夫环 中 总个数数:");
Scanner sca = new Scanner(System.in);
int N = sca.nextInt();
// 提示输入要出圈的数值
System.out.println("请输入要出圈的数值:");
int X = sca.nextInt();
System.out.println("按出圈的次序输出序号:"); for(int i=0 ;i<N;i++){
alist.add(i+1);
} int i=-1;
int countX=0;
while(alist.size()!=0){
++i;
if(i== alist.size()){
i=0;
}
++countX;
if(countX==X){//输出
System.out.print(alist.get(i)+ " ");
alist.remove(i);
countX=0;
i--;//修正
}
} }
}

測试结果:

约瑟夫环 java实现的更多相关文章

  1. j使用数组实现约瑟夫环 java

    我们首先来看一下约瑟夫环问题: 给定m个人,m个人围成一圈,在给定一个数n,从m个人中的第一个人每第n个人便将其除去,求被最后一个出去的人的编号. 思路: 建立一个长度为m+1的数组,将其的内容初始化 ...

  2. 约瑟夫环的java解决

    总共3中解决方法,1.数学推导,2.使用ArrayList递归解决,3.使用首位相连的LinkedList解决 import java.util.ArrayList; /** * 约瑟夫环问题 * 需 ...

  3. Java学习之约瑟夫环的两中处理方法

    package day_2; import java.util.Scanner; /** * @author Administrator * 约瑟夫环问题: 设编号为 1,2,3,....n的N个人围 ...

  4. 循环列表的Java实现,解决约瑟夫环问题

    import java.util.Scanner; /** * 循环列表的Java实现,解决约瑟夫环问题 * * @author LIU * */ public class LinkedList { ...

  5. 约瑟夫环 --- 面向对象 --- java代码

    约瑟夫环 的 面向对象 解法 罗马人占领乔塔帕特后,39个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个 ...

  6. 约瑟夫环问题-Java数组解决

    约瑟夫环问题说的是,n个人围成一圈,从第k个人开始沿着一个方向报数,报到第m个人时,第m个人出列,从紧挨着的下一个人(未出列)开始,求整个环中人的出列顺序.下面是我用java实现的解决方法. clas ...

  7. 约瑟夫环简介,问题以及java实现

    问题:一群猴子排成一圈,按1,2,--.,n依次编号.然后从第一只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,再把它踢出去-------.,如此不停的进行下去,直到最后只剩下一只猴 ...

  8. Java实现约瑟夫环问题

    约瑟夫环问题起源于一个犹太故事.约瑟夫环问题的大意如下: 罗马人攻占了桥塔帕特,41个人藏在一个山洞中躲过了这场浩劫.这41个人中,包括历史学家Josephus(约瑟夫)和他的一个朋友.剩余的39个人 ...

  9. 约瑟夫环(java面向对象实现)

    /* * 作者:zhaop * 功能:约瑟夫环 * */ public class Joseph { public static void main(String[] args) { // TODO ...

随机推荐

  1. HZAU 1199 Little Red Riding Hood(DP)

    Little Red Riding Hood Time Limit: 1 Sec  Memory Limit: 1280 MBSubmit: 853  Solved: 129[Submit][Stat ...

  2. Find K Pairs with Smallest Sums -- LeetCode

    You are given two integer arrays nums1 and nums2 sorted in ascending order and an integer k. Define ...

  3. 【拓扑排序】【DFS】Painting A Board

    [poj1691]Painting A Board Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3902   Accept ...

  4. 【模拟退火】poj2420 A Star not a Tree?

    题意:求平面上一个点,使其到给定的n个点的距离和最小,即费马点. 模拟退火的思想是随机移动,然后100%接受更优解,以一定概率接受更劣解.移动的过程中温度缓慢降低,接受更劣解的概率降低. 在网上看到的 ...

  5. python基础之带参数装饰器和迭代器

    带参数的装饰器:就是在原装饰器外再包一层函数 def auth(driver='file'): def auth2(func): def wrapper(*args,**kwargs): name=i ...

  6. 微软笔试Highway问题解析

      High way   时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 In the city, there is a one-way straight highway ...

  7. 异常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项

    常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项 看到这个异常,我估计谁都会头大一阵子,不过还好,由于前面知道要设置为x86,加上以前观察过I ...

  8. redux状态管理和react-redux的结合使用

    一:调试 注意:Redux调试工具.谷歌中搜redux同理react 新建store的时候判断window.devToolsExtension使用compose(组合函数)结合thunk插件和wind ...

  9. python 文件和路径操作函数小结

    1: os.listdir(path) //path为目录 功能相当于在path目录下执行dir命令,返回为list类型 print os.listdir('..') 2: os.path.walk( ...

  10. 自制DEV皮肤

    1.打开DEV自带的皮肤制作工具 2.创建一个新的皮肤工程[File][New] 3.改变指定控件的颜色,比如背景色 4.改变控件边框的颜色.粗细