有17個(gè)人圍成一圈(編號(hào)0~16),從第0號(hào)的人開始從1報(bào)數(shù),凡報(bào)到3的倍數(shù)的人離開圈子,
然后再數(shù)下去,直到最后只剩下一個(gè)人為止,問此人原來的位置是多少號(hào)?
int [] people = new int[17];
int lastPeople = 0;
public void getTheLastPeople(){
for(int i = 0; i < people.length; i++){
people[i] = i+1;
}
int count = 0;
int countLast = 0;
int j = 0;
while(true){
for(j = 0; j < people.length; j++){
if(people[j] != 0){
count++;
people[j] = count;
System.out.println("people[" + j + "] = " + people[j]);
if (people[j] % 3 == 0) {
people[j] = 0;
countLast++;
if(countLast == 17){
lastPeople = j;
return;
}
}
}
}
}
}
int lastPeople = 0;
public void getTheLastPeople(){
for(int i = 0; i < people.length; i++){
people[i] = i+1;
}
int count = 0;
int countLast = 0;
int j = 0;
while(true){
for(j = 0; j < people.length; j++){
if(people[j] != 0){
count++;
people[j] = count;
System.out.println("people[" + j + "] = " + people[j]);
if (people[j] % 3 == 0) {
people[j] = 0;
countLast++;
if(countLast == 17){
lastPeople = j;
return;
}
}
}
}
}
}