zoukankan      html  css  js  c++  java
  • 亮灯问题

    本题是滴滴出行2016研发工程师笔试题

    问题

    2015盏灯,一开始全部熄灭,序号分别是1-2015,先把1的倍数序号的灯的开关全部按一次,然后把2的倍数的灯的开关全部按一次,然后把3的倍数的灯的开关全部按一次,以此类推,最后把2015的倍数灯的开关按一次。问最后亮着的灯有多少盏?

    解题思路

    简单思考之后发现,一个数如果有偶数个约数,则最后是暗的,如果有奇数个约数,则最后是亮的。所有的质数都有两个约数,1和自身,所以质数最后一定是暗的。对于合数,有个有意思的情况,就是除了1和本身之外,还有其他约数,那么这些约数有什么规律呢?我们可以发现,它们一般都会成对出现,比如15还可以分解成3和5,20还可以分解成2和10,或者4和5,一旦成对,最后肯定是偶数个约数,所以最后灯还是暗的。但是这里有个特殊情况,就是平方数!因为它们除了可以分解成成对的两个约数之外,还可以分解成自身乘以自身,这就说明它多出一个约数,比如16,除了分解成1和16,2和8,还可以分解成4和4,所以16的约数有1,2,4,8,16,可以看到它有5个约数,奇数个约数,最后灯是亮的。所以这个问题最后变成2015之内有多少个平方数。1,2,3,4...44,45的平方是2025,就比2015大了,所以最后结果是44。

  • 相关阅读:
    WebView.简单使用_ZC代码
    WebView.简单使用_资料
    APK.错误解决_Theme.AppCompat.Light相关
    USB调试.红米Note4X
    Android_连接数据库_资料收集
    APK签名_ZC
    APK签名_资料
    ubuntu系统中代替windows系统中onenote软件--basket note pads
    firefox浏览器设置新页面后激活
    oracle 写declare例子
  • 原文地址:https://www.cnblogs.com/DarrenChan/p/6178266.html
Copyright © 2011-2022 走看看