您的位置:首页 > 编程语言 > Java开发

用java语言实现约瑟夫环(方法一)

2015-04-07 15:42 29 查看
import java.util.Scanner;

/*

* 500个小孩围一圈,数到3的退出,问剩下最后的小孩原来是多少号?

* author@

* */

public class YueSeFuHuan {

public static void main(String[] args){

Scanner sca=new Scanner(System.in);

System.out.println("输入该游戏的参与人数:");

int n=sca.nextInt();

System.out.println("输入数到退出的数字:");

int m=sca.nextInt();

sca.close();

int len=n;

int[] a=new int
;

for(int i=0;i<n;i++){

a[i]=i+1;

}

int i=0;

int j=1;

while(len>=m){

if(a[i%n]>0){ //这里判断是否被圈出去

if(j%m==0){ //这里判断是否报的数相同,是则退出该位置,且下一位重新报数

//System.out.print(a[i%n]+",");

a[i%n]=-1;

i++;

j=1;

len--;

}else{ //不相同则继续

i++;

j++;

}

}else{ //表示该位置已被圈出,跳向下一位

i++;

}

}

for(int k=0;k<n;k++){

if(a[k]>0)

System.out.print(a[k]+",");

}

}

}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: