100个人编号为1-100,山洞有100盏灯,编号为1-100。 人依次过山洞,当人经过【灯编号可以整除人编号】的路灯时,按下开关。假设刚开始灯都是灭的,那么100个人出去以后,有多少盏灯是亮着的。
fun getCount(): Int {
val arr = IntArray(100) { 0 }
for (i in 1..100) { // 人
for (j in i..100) { // 灯若能整除人的编号,则灯的编号不小于人,直接取 i..100。
if (j % i == 0) {
arr[j - 1] += 1
}
}
}
return arr.count { it % 2 == 1 } // 结果为10
}