⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档.txt

📁 约瑟夫圈问题
💻 TXT
字号:
package day2;
import java.util.*;
public class YSF {
        private final static int PEOPLE = 30;//总人数
        private final static int LEAVE = 20;//报数
        public static void main(String[] args) {
                LinkedList<Integer> ll= new LinkedList<Integer>();
                //编号
                for(int i=1;i<=PEOPLE;i++){
                        ll.add(i);
                }
                //初始化
                int count = 1;//计数用
                int mp = 0;//movePeople指针
                //程序主体
                while(true){
                        if(ll.size()==1)break;//只剩一个退出
                        if(mp == ll.size())mp = 0;//到头了返回
                        if(count == LEAVE){
                                System.out.print(ll.get(mp)+" ");//输出出圈人的编号
                                ll.remove(mp);//出圈
                                count = 1;//计算器复位
                                continue;//继续下一轮
                        }
                        ++ count;//计算器加1
                        ++ mp;//指针下移
                }
                
                //输出
                System.out.println();
                for(Integer i:ll){
                        System.out.print(i+" ");
                }

        }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -