约瑟夫环_java_数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了约瑟夫环_java_数组相关的知识,希望对你有一定的参考价值。

package test;
import java.util.Scanner;//键盘输入
/**

public class test{
public static void main(String[] args){

//提示输入总人数
System.out.println("请输入做这个游戏的总人数:");
Scanner sca=new Scanner(System.in);
int m=sca.nextInt();



//提示输入要出圈的数值
System.out.println("请输入要出圈的数值:");
int n=sca.nextInt();
System.out.println("按出圈的次序输出序号:");















//创建有m=6个值的数组
int[] a=new int[m];
//初始长度,以后出圈一个,长度就减一
int len=m;
//给数组赋值
for(int i=0;i<a.length;i++)
a[i]=i+1;




//i为元素下表,j代表当前要报的数
int i=0;
int j=1;
while(len>0){ //len=6 循环6次
if(a[i%m]>0){
if(j%n==0){//找到要出圈的人,并把圈中人数减一 此时的n=3
//System.out.print(i+"dljahjd");
System.out.print(a[i%m]+" ");




a[i%m]=-1;
j=1;
i++;
len--;
}else{
i++;
j++;
}





}else{//遇到空位了,就跳到下一位,但j不加一,也就是这个位置没有报数
i++;
}




}




}




}



















































































以上是关于约瑟夫环_java_数组的主要内容,如果未能解决你的问题,请参考以下文章

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

python3 实现约瑟夫环

Leetcode_面试题62. 圆圈中最后剩下的数字(约瑟夫环)

单链表 --- 冒泡排序 约瑟夫环

数据结构设计——约瑟夫环问题

剑指Offer45 约瑟夫环