page contents

如何判断还有几盏灯泡还亮着?

轩辕小不懂 发布于 2021-10-09 15:37
阅读 1059
收藏 0
分类:Golang

100个灯泡排成一排,第一轮将所有灯泡打开;第二轮每隔一个灯泡关掉一个,即排在偶数的灯泡被关掉,第三轮每隔两个灯泡,将开着的灯泡关掉,关掉的灯泡打开。依次类推,第100轮结束的时候,还有几盏灯泡亮着?

2106
Nen
Nen
- 程序员

分析与解答:(1)对于每盏灯,当拉动的次数是奇数时,灯就是亮着的,当拉动的次数是偶数时,灯就是关着的。

(2)每盏灯拉动的次数与它的编号所含约数的个数有关,它的编号有几个约数,这盏灯就被拉动几次。

(3)1~100这100个数中有哪几个数,约数的个数是奇数?我们知道,一个数的约数都是成对出现的,只有完全平方数约数的个数才是奇数个。所以,这100盏灯中有10盏灯是亮着的,它们的编号分别是:1、4、9、16、25、36、49、64、81、100。下面是程序的实现:

attachments-2021-10-qmRtW8uj6161489fdcfdf.jpg程序的运行结果为

attachments-2021-10-An1Tbirl616149d9e8125.jpg

请先 登录 后评论