package com.itheima;
/**
* 10、有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。
* 然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?
* @author Administrator
*
*/
public class Test10 {
public static void main(String[]args){
// 创建一个长度为100的数组
int[]array=new int[100];
// 被剔除的数字
int outNum=0;
// 变量
int j=1;
int n=0;
// 将1-100添加到数组
for(int i=0;i<array.length;i++){
array[i]=i+1;
}
// 遍历数组
while(outNum<array.length){
if(array[(j-1)%array.length]!=-1){
n++;
// 将数到14的人“干掉”
if(n==14){
n=0;
outNum++;
// 将干掉的数赋值给
int p=array[(j-1)%array.length];
// 输出最后一个
if(outNum==100){
System.out.println("最后剩下的是100人中的第"+p+"个人");
}
array[(j-1)%array.length]=-1;
}
}
j++;
}
}
}
|
|