java123逻辑思维_JAVA数三退一逻辑思维包括写法

public static void game(int num){

//为每个人设置一个boolean值,初始为false,如果true,说明已经出局

boolean[] people= new boolean[num];

//定义位置:例如,第一个人为0,第2个人为1,第3个人为2,第n个人为n-1

int positionFlag = 0;

//设置每个人数出的数,初始为1

int count =1;

//设置出局的人的个数

int outNum = 0;

//设置当前最后一个没有出局的人的位置

int peopleWin = 0;

//开始游戏,当出局的人为总人数减1时,游戏结束

while(outNum!=num-1){

//当位置为总人数的时候,已经执行一个循环了,重返位置为0

if(positionFlag==num){

positionFlag=0;

}

//如果当前玩家的boolean值为true,说明已经出局,跳过

if(people[positionFlag]){

positionFlag++;

continue;

}

//如果当前玩家数到3,出局,设置其boolean值为true,否则设置当前最后一个没有出局的人的位置为该玩家

if(count==3){

people[positionFlag]=true;

outNum++;

}else{

peopleWin = positionFlag;

}

//执行计数规则

count = countAdd(count);

positionFlag++;

}

System.out.println("胜利:"+peopleWin);

}

public static int countAdd(int i){

if(i<3){

return i+1;

}else{

return 1;

}

}

一群人玩游戏    规则叫号   叫到3的倍数的出局   得到最后胜利者    看看吧   比较好理解要运行直接调用GAME(给个人数就好了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值