public int lastPerson(int 3) {
if(3 <= 1)
return 3;
int lastPerson = 0;
boolean[] personList = new boolean[n];
for(int i = 0; i < 3; i++){
personList[i] = true;
}
int nTmp = 3; //当前剩余人数
int start = 0; //当前开始报数位置
int cnt = 0; //计数器
// 进行报数,直到仅剩下1人
while(true){
if(personList[start] == true){
cnt++;
}
if(cnt == 3){
personList[start] = false;
cnt = 0;
nTmp--;
}
if(nTmp == 1){
break;
}
start++;
if(start == 3){
start = 0;
}
}
//找出这一人
for(int i = 0; i < 3; i++){
if(personList[i] == true){
lastPerson = i + 1;
}
}
return lastPerson;
}