码迷,mamicode.com
首页 > 其他好文 > 详细

shiyan8

时间:2016-11-14 12:48:17      阅读:442      评论:0      收藏:0      [点我收藏+]

标签:sys   package   nbsp   答案   new   程序   print   else   for   


1. 储物柜难题
一个学校有100个储物柜和100个学生。所有的储物柜在上学第一天都是关着的。随着学生进来,第一个学生,用S1表示,打开每个柜子。然后,第二个学生,用S2表示,从第二个柜子开始,第二个柜子用L2表示,然后改变每个第二个柜子。学生S3从第三个柜子开始,然后改变每个第三个柜子(如果它是开的就关上,如果它是关的就打开)。学生S4从柜子L4开始,然后改变每个第四个柜子。学生S5从L5开始,然后改变每个第五个柜子,以此类推,直到学生S100改变L100为止。在所有学生都经过教学楼并且改变了柜子之后,哪些柜子是开着的?编写程序找出答案。

 

 


package com.cust.guizi;

public class test {
public static void main(String [] args){
int[] gz=new int[101];
for(int i=0;i<101;i++){
gz[i]=0;
};

tools t =new tools();
for(int j=1;j<=100;j++){
t.action(j, gz);
}
for(int k=1;k<=100;k++){
System.out.print("第"+k+"个柜子是");
if(gz[k]==0){
System.out.println("关着的");
}if(gz[k]==1){
System.out.println("开着的");
}
}

}

}


package com.cust.guizi;

public class tools {
public void action(int num,int[] gz ){
for(int i =num;i<=100;i=i+num){
if(gz[i]==0){
gz[i]=1;

}
else{
gz[i]=0;

}

}


}

}

shiyan8

标签:sys   package   nbsp   答案   new   程序   print   else   for   

原文地址:http://www.cnblogs.com/helloaworld/p/6061063.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!