问题标题:
【算法:关于开关灯最后问哪些灯是开着的问题有100个灯(编号1-100,初始状态全部关闭),现要进行1000轮switch操作(如果原来是关则打开,如果原来开则关闭).在第X轮操作中,若灯的编号i能够整】
问题描述:
算法:关于开关灯最后问哪些灯是开着的问题
有100个灯(编号1-100,初始状态全部关闭),现要进行1000轮switch操作(如果原来是关则打开,如果原来开则关闭).
在第X轮操作中,若灯的编号i能够整除X,则进行switch操作.
那么这1000轮操作结束后,开着的灯是那些呢?
这种问题我知道考察的知识点是”完全平方数的约数个数为奇数个“,但是从题的已知条件来看,不知道该如何入手,
梁红波回答:
哈哈,这个貌似是什么的面试的问题,每一轮如果灯的编号能整除轮数则变化开关状态,那么一个灯最终是开是关取决于他有多少个因数,如8的因数1,2,4,8,那么会在这四轮切换状态,一般的数都有偶数个因数(因为必须两个因数相...
段磊强回答:
哎呀还是有些小迷糊再详细说说呗大哥虽然我明白这题考什么知识点但是根据他的已知条件我往上靠不上去
梁红波回答:
这个就是顺序地想一遍,第一轮所有灯的编号i能够整除1的灯都switch(打开),第二轮是所有能整除2的……那比如对第8个等来说就是1,2,4,8轮switch,因为是偶数此switch所以最后关了,然后就是我上面说的
查看更多