📄 新建 文本文档 (3).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 + -