N只猴子站成一行,每M只报数。

来源:百度知道 编辑:UC知道 时间:2024/05/20 01:30:25
先从头到尾,报到尾后,再返回从尾到头报数,打印每次方向及过程,直到剩下两只时,以排到后面的(指报数方向)为大王

import java.util.ArrayList;
import java.util.List;

public class Monkey {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
int count = getN(args);
ArrayList list = (ArrayList) getList(count);
int M = 3;
String direction = "正";
int serial = M;

while (list.size() > 2 ) {
if ( serial < list.size()) {
System.out.println( direction + list.get(serial ) + "离队");
list.remove( serial );
serial = serial + M;
}else{
serial = serial - list.size();

list = (ArrayList) reversal(list);
direction = direction.equals("正") ? "反":"正";
}
}
System.out.println( list.get(1) + "是大王");

} catch (Exception e) {
System.out.p

N只猴子站成一行,每M只报数。 N只猴子站成一行,每隔M只从头报数,反复进行,报过数的退出,打印每次退出的猴子的编号,直到剩下一只 N只猴子围成一圈,从第P个开始,每隔M只报数,打印每次过程,只剩下一个时为大王。 有一群猴子共N只,要选大王。它们约定排成一排,从头到尾1至3报数,报到3 猴子分香蕉,每只猴子1根少1根,每只猴子半根多半根,你知道有多少只猴子?多少根香蕉吗? 猴子分香蕉,每只猴子8根51根,每只猴子7根多2根,你知道有多少只猴子?多少根香蕉吗? 猴子分桃子,每只猴子3个桃就多一个,每只猴子4个桃就少两个,几个猴子几个桃?不用方程怎么解? 有只猴子 《12只猴子》下载 构成N*N阶的拉丁方阵(2〈=N〈=9),使方阵中的每一行和每一列中数字1到N只出现一次。