有X个人在一个荒岛上,有一个竹排 但竹排只能载一个人走,于是这群人通过商量制定了一个游戏:把Y作为倒霉数字,这群人从1开始报数,凡是报到Y的倍数这个人就会被淘汰,最后只会留下一个人才能乘竹排离开荒岛。
写程序:提示用户输入这群人的个数和倒霉数字,最后输出最后能够坐竹离开荒岛的人是第几有X个人在一个荒岛上,有一个竹排 但竹排只能载一个人走,于是这群人通过商量制定了一个游戏:把Y作为倒霉数字,这群人从1开始报数,凡是报到Y的倍数整个人就会被淘汰,最后只会留下一个人才能乘竹排离开荒岛。
写程序:提示用户输入这群人的个数和倒霉数字,最后输出最后能够坐竹离开荒岛的人是第几 ?
写程序:提示用户输入这群人的个数和倒霉数字,最后输出最后能够坐竹离开荒岛的人是第几有X个人在一个荒岛上,有一个竹排 但竹排只能载一个人走,于是这群人通过商量制定了一个游戏:把Y作为倒霉数字,这群人从1开始报数,凡是报到Y的倍数整个人就会被淘汰,最后只会留下一个人才能乘竹排离开荒岛。
写程序:提示用户输入这群人的个数和倒霉数字,最后输出最后能够坐竹离开荒岛的人是第几 ?
网上啥面向对象的,数组的一大堆,楼主自己搜吧public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("X");
int x = in.nextInt();
System.err.println("Y");
int y = in.nextInt();
List<Integer> menbers = new ArrayList<Integer>();
for(int i = 0;i<x;i++){
menbers.add(Integer.valueOf(i+1));
}
int currNum = 1;
int currIndex = 0;
while(menbers.size()>1){
if(currNum%y == 0){
System.err.println(menbers.remove(currIndex)+"号出局...");
if(currIndex == menbers.size()){
currIndex = 0;
}
}else {
if(currIndex <menbers.size()-1){
currIndex++;
}else if(currIndex == menbers.size()-1){
currIndex = 0;
}
}
currNum++;
}
System.err.println("胜利者:"+menbers.get(0));
}
Scanner in = new Scanner(System.in);
System.out.println("X");
int x = in.nextInt();
System.err.println("Y");
int y = in.nextInt();
List<Integer> menbers = new ArrayList<Integer>();
for(int i = 0;i<x;i++){
menbers.add(Integer.valueOf(i+1));
}
int currNum = 1;
int currIndex = 0;
while(menbers.size()>1){
if(currNum%y == 0){
System.err.println(menbers.remove(currIndex)+"号出局...");
}else {
currIndex++;
}
if(currIndex == menbers.size()){
currIndex = 0;
}
currNum++;
}
System.err.println("胜利者:"+menbers.get(0));
}
Scanner in=new Scanner(System.in);
System.out.println("请输入人数");
int count=in.nextInt();
System.out.println("请输入倒霉数");
int num=in.nextInt();
boolean[] arr=new boolean[count];
for(int i=0;i<arr.length;i++){
arr[i]=true;
}
int n=0;
int liftcount=arr.length;
int index=0;
while(liftcount>1){
if(arr[index]==true){
n++;
if(n%num==0){
System.out.println(index+1+"出局");
arr[index]=false;
liftcount--;
}
}
index++;
if(index==arr.length){
index=0;
}
}
for(int i=0;i<arr.length;i++){
if(arr[i]==true)
System.out.println(i+1+"最后留下");
}
}