报数游戏_数组解决方法

2021-02-04 22:16

阅读:578

标签:==   nbsp   game   src   开始   print   main   class   初始   


package com.cn;

/**
* 100个人围成一圈,每个人有一个编码,编号从1开始到100.他们从1开始依次报数,报到为M的人自动退出圈圈,然后下一个人接着从1开始报数,
* 直到剩余的人数小于M。请问最后剩余的人在原先的编号为多少?例如输入M=3时,输出为:“58,91”,输入M=4时,输出为: “34,45, 97”。
* 如果m小于等于1, 则输出“ERROR!”;
* 如果m大于等于100,则输出“ERROR!”;
*/
public class NumGame {
// public static int getSum(int[] arr) {
// int sum = 0;
// for (int i = 0; i // if (arr[i] == 0) {
// sum++;
// }
// }
// return sum;
// }
static int sum_0 =100;
public static int[] playame(int m) {
int[] persons = new int[100]; //初始化为0 表示均没有跳出圈子
int index = 1;
//求出没有跳出圈的个数
// while ( getSum(persons>=m)){
while (sum_0>=m) {
for (int i = 0; i length; i++) {
if (persons[i] == 0) { //在圈内
if (index % m == 0) {
persons[i] = 1;
sum_0 --;
}
index++;
}
}
}
return persons;
}

public static void main(String[] args) {
int[] result = playame(4);
for (int i = 0; i length; i++) {
System.out.print(result[i] + ",");
}
System.out.println();
System.out.println("结果:");
for (int i = 0; i length; i++) {
if(result[i]==0){
System.out.print((i+1)+",");
}
}
}

}

运行的结果:
技术图片

 

 

 


报数游戏_数组解决方法

标签:==   nbsp   game   src   开始   print   main   class   初始   

原文地址:https://www.cnblogs.com/gccwelcome/p/12786023.html


评论


亲,登录后才可以留言!