约瑟夫环一个例子

来源:互联网 发布:音乐相册编辑软件 编辑:程序博客网 时间:2024/05/22 14:22

有30个日奔人被战斗族抓住了,战斗族让30个日奔人围成一圈,点数从1-9,点到9的人会被丢下船喂鲨鱼,可以活下15个人,哪些人能活下来?

package com.mine.nmsl;public class Wsnd {public static void main(String[] args) {boolean[] a = new boolean[30];for (int i = 0; i < a.length; i++) {a[i] = true;}int counter = 0;// 死人计数器int bs = 0;// 报数int index = 0;// 下标while (counter < 15) { // 死人最多15个if (a[index]) {bs++;}if (bs == 9) { //当报到9时该人跳河a[index] = false;bs = 0;counter++;}index++;index %= a.length;}for (boolean b : a) {if (b) {System.out.print("  活   ");} else {System.out.print(" 死  ");}}}}

0 0