- 设计要求:500个数逢三减一,问最后一个数是原来数中的第几个?
- 设计思路1:运用数组,简单逻辑思维的建立
leftCount:值为true的数组长度
countNum:计数器,逢三减一
index:标记位置,类似循环的指针 - 代码:
public class Count3Quit {
public static void main(String [] args) {
boolean [] a = new boolean[500];
for (int i=0;i<a.length;i++) {
a[i] = true; //初始化Boolean数组全部为true
}
int leftCount = a.length; //值为true的数组长度
int countNum = 0; //计数器,逢三减一
int index = 0; //标记位置,类似循环的指针
while(leftCount > 1) {
//逢三减一
if (a[index] == true) {
countNum ++;
if (countNum == 3) {
countNum = 0;
a[index] = false;
leftCount --;
}
}
index ++; //位置下移
if (index == a.length) {