zoukankan      html  css  js  c++  java
  • [转载]100盏灯泡的开关问题

    问题:

    有100盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯熄灭一盏,即熄灭第2盏,第4盏,以此类推,第三轮改变编号为3的倍数的电灯,第3盏,第6 盏,如果原来那盏灯是亮的,就熄灭它,如果原来是灭的,就点亮它,以此类推,直到第100轮。问第100结束后,还有多少盏灯泡是亮的?

    解答:

    由题意最如果最后某一盏灯是亮着的,那么它一定是被切换了奇数次(第0次的时候全部都关着)。

    首先来看一下6这盏灯,它被切换的次数是第1次(轮),第2次,第3次和第6次。

    可以看出如果某一轮6被切换了,那么该轮数一定可以整数6,即是6的约数,由于约数是成对出现的,所以6被关掉的次数是偶数次。

    但是是对于像4,16这样的完全平方数,由于他们都有一个约数k 使得 K的平方等于该完全平方数,所以其被关掉的次数应该为奇数,因为K只能被算一次。


    所以该问题的答案是只有1-100的完全平方数,才是亮着的。

    即1,4,9,16,25,36,49,64,81,100这10盏灯亮着。


    *备注:

    完全平方数:一个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数,也叫做平方数

  • 相关阅读:
    【机器学习】:Xgboost/LightGBM使用与调参技巧
    Golang map 源码
    Golang slice、array 源码
    Golang string 源码
    Golang sync.Mutex
    Golang net/http
    Golang GMP模型
    转发:全套支付宝系统架构(含内部架构图),非常好的收藏学习!
    付款 案例 研究
    (转发)Java学习路线
  • 原文地址:https://www.cnblogs.com/ericsun/p/3349264.html
Copyright © 2011-2022 走看看