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

📄 新建 文本文档 (3).txt

📁 约瑟夫圈问题
💻 TXT
字号:
package day03.tarena.com;

import java.util.Scanner;

public class Whools {
        /**
         * 用数组实现约瑟夫出圈问题。 n个人排成一圈,从第一个人开始报数,从1开始报,
         * 报到m的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止。
         * 对于给定的n,m,求出所有人的出圈顺序。
         */
        public static void main(String[] args) {
                System.out.println("游戏说明:");
                System.out.println(" n个人排成一圈,从第一个人开始报数,从1开始报,报到m的人出圈," +
                                      "剩下的人继续开始从1报数,直到所有的人都出圈为止。" +
                                      "对于给定的n,m,求出所有人的出圈顺序。");
                System.out.println("请输入人数和要出圈的权::");
                Scanner sca=new Scanner(System.in);
                int n=sca.nextInt();
                int m=sca.nextInt();
                
                out(n,m);
        }

        private static void out(int n,int m) {
                
                // TODO Auto-generated method stub
                if(n<=0){
                        System.out.println("呵呵,一个人也没有,不允许!!!!");
                }else{
                        int [] a=new int[n]; 
                        for (int i = 0; i < a.length; i++) {
                                a=i+1;
                        }
//                        System.out.println("OK");
                                int count=0;
                                int count1=0;
                        lable:for (int j = 0; j < a.length; j++) {
                                        for (int i = 0; i < a.length; i++) {
                                                if (i==a.length) {
                                                        i=-1;
                                                }
                                                if (a!=0) {
                                                        count++;
                                                }
                                                if (count==m) {
                                                        System.out.println(a);
                                                        count1++;
                                                        a=0;
                                                        count=0;
                                                }
                                                if (count1==a.length) {
                                                        break lable;
                                                }
                                        }
                                
                        }
                }        
                
        }

}

⌨️ 快捷键说明

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