有100盏灯,只有开关两种状态。开始都是关着的状态,然后有100个人,第一个人把100盏灯的开关都拨一遍,第二个人,拨第2,4,6,8...盏灯的开关,第三个人拨第3,6,9,12...盏灯的开关,后面的人依此类推,问最后哪些灯是亮着的,哪些灯是灭了的。
public class Main {
public static void main(String[] args) {
int[] bull=new int[101];
for(int i=1;i<=100;i++){
bull[i]=1;
}
for(int i=2;i<=100;i++){
int k=1;
for(int j=i;j<=100;){
if(bull[j]==1) bull[j]=0;
else bull[j]=1;
k++;
j=i*k;
}
}
for(int i=1;i<=100;i++){
if(bull[i]==1){
System.out.println(i);
}
}
}
}