java-储物柜难题

来源:互联网 发布:2017年的同志网络剧 编辑:程序博客网 时间:2024/05/21 05:22
一个学校有100个储物柜和100个学生。所有的储物柜在上学的第一天都是关着的。随着学生的进来,第一个学生,打开每个柜子。然后第二个学生,从第二个柜子开始,关闭每个第二个柜子。学生3从第三个柜子开始,改变每个第三个柜子(如果它开着就关上、关着就打开)。学生4从第四个柜子开始,然后改变每个第四个柜子。以此类推,直到学生100改变第100个柜子为止。在所有学生都经过并改变了柜子之后,哪些柜子是开的?编写程序找出答案。(正确答案)如果运行结果为 1,4,9,16,25,36,49,64,81,100 恭喜,你对了
public class Exercise6_23 {        public static void main(String[] args) {       boolean[] box = new boolean[100];       for(int i =0;i<100;i++){           box[i]=false;       }       for(int m =1;m<=100;m++){           for(int n =m;n<=100;n+=m){                              box[n-1]=!box[n-1];                          }       }       for(int t =0;t<100;t++){                      if(box[t])System.out.print(t+1+" ");                  }    }    }