java 实现约瑟夫环的实例代码

时间:2022-06-24 16:26:11 


import java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Josephus {
    private static class Node{
        int No;
        Node next;
        public Node(int No){
            this.No=No;
        }
    }
    public static void main(String[] args) {
        int totalNum,cycleNum;
        List<Integer> list = new ArrayList<Integer>();
        Scanner cin = new Scanner(new BufferedInputStream(System.in));
        System.out.println("请输入总人数:");
        totalNum=cin.nextInt();
        System.out.println("请输入报数人数:");
        cycleNum=cin.nextInt();
        Node header = new Node(1);
        Node pointer = header;
        for(int i=2;i<=totalNum;i++){
            pointer.next = new Node(i);
            pointer = pointer.next;
        }
        pointer.next= header;
        pointer=header;
        while(pointer != pointer.next){
            int i =2;
            while(i<cycleNum){
                pointer = pointer.next;
                i++;
            }
            //list.add(pointer.next.No);
            System.out.println("将序号"+pointer.next.No+"剔除。");
            pointer.next=pointer.next.next;
            pointer=pointer.next;
        }
        System.out.println("这是最后一个人:"+pointer.No);
    }
}
标签:java,约瑟夫环
0
投稿

猜你喜欢

  • JFreeChart插件实现的折线图效果实例

    2023-09-21 02:20:03
  • JDK1.8下载、安装和环境配置超详细教程(最新最完整)

    2022-07-22 12:58:34
  • 客户端Socket与服务端ServerSocket串联实现网络通信

    2023-08-11 00:01:17
  • java集合与数组的相同点和不同点

    2022-07-19 03:13:53
  • Android 6.0动态权限申请教程

    2023-09-26 16:43:56
  • eclipse+maven+spring mvc项目基本搭建过程

    2022-12-18 03:50:52
  • 解决idea 暂存文件或idea切换分支代码丢失的问题

    2023-09-11 07:52:41
  • Java利用Selenium操作浏览器的示例详解

    2022-06-17 17:34:20
  • mybatis insert foreach循环插入方式

    2023-10-15 22:32:53
  • Feign Client 超时时间配置不生效的解决

    2021-09-05 15:49:11
  • JavaWeb中的常用的请求传参注解说明

    2023-06-19 03:12:06
  • Java基础教程之String深度分析

    2022-08-19 05:42:15
  • Android的消息机制

    2023-08-05 10:19:28
  • Springboot如何通过yml配置文件为静态成员变量赋值

    2021-08-03 12:03:17
  • java IO实现电脑搜索、删除功能的实例

    2021-12-17 07:16:14
  • C#实现将字符串转换成日期格式的方法

    2021-07-18 06:19:11
  • 浅谈Springboot下引入mybatis遇到的坑点

    2023-09-09 05:55:09
  • IDEA中java断言assert语法及使用

    2022-12-28 21:07:00
  • 详解java 客户端链接不上redis解决方案

    2023-11-12 10:12:15
  • Maven的安装配置详解

    2023-11-24 08:52:05
  • asp之家 软件编程 m.aspxhome.com