package test;
/*
* 100个灯泡按1~100编号,1号同学将编号为1的倍数的灯泡全部摁了一遍(亮),
* 2号同学将编号为2的倍数的灯泡全部摁了一遍(关),
*同学将编号为3的…,100号同学将编号为100的倍数摁了一遍,最后有______个灯泡是亮着的.
* 分析:最后灯的编号的约数个数为奇数时,灯还会亮着
* */
public class LightCount {
public static void main(String[] args) {
int[] LightCount = new int[100];
count(LightCount);
}
public static void count(int[] count) {
for (int i = 1; i <= count.length; i++) {
for (int j = 1; j <= i; j++) {
if (i % j == 0) {
++count[i - 1];
}
}
}
for (int i = 1; i < count.length; i++) {
if (count[i - 1] % 2 != 0) {
System.out.println("灯泡亮着的编号为" + i);
}
}
}
}
输出的结果
灯泡亮着的编号为1
灯泡亮着的编号为4
灯泡亮着的编号为9
灯泡亮着的编号为16
灯泡亮着的编号为25
灯泡亮着的编号为36
灯泡亮着的编号为49
灯泡亮着的编号为64
灯泡亮着的编号为81