现在的位置: 首页 > 综合 > 正文

题目:对一批编号为1-100全部开关朝上(开)的灯进行以下操作:

2013年04月30日 ⁄ 综合 ⁄ 共 482字 ⁄ 字号 评论关闭

题目:对一批编号为1-100全部开关朝上(开)的灯进行以下操作:
开关编号凡是1的倍数反方向拨一次开关;若该编号也是2的倍数反方向又拨一次开关;若该编号又是3的倍数反方向又拨一次开关……以此类推一直计算到100为止。
目的:请trace出经过反复开关操作后所有关闭的灯的开关编号。

public class Light {

public static void setBack(int[] temp, int i) {//注意这个传法
if (temp[i] == 0)
temp[i] = 1;
else if (temp[i] == 1)
temp[i] = 0;
}

public static void main(String args[]) {
int[] light = new int[100];
for (int i = 0; i < 100; i++) {
light[i] = 0;
}
;

for (int i = 0; i < 100; i++) {
for (int n = 2; n < 101; n++) {
if ((i + 1) % n == 0)
setBack(light, i);
}
}

for (int i = 0; i < 100; i++) {
System.out.print(light[i] + " ");
}
;

}

}

抱歉!评论已关闭.