带锁的门

题目:
        在走廊上有n个带锁的门,从1到n依次编号。最初所有的门都是关着的。我们从门前经过n次,每一次都是从1号门开始。在第i次经过时(i = 1, 2, ..., n)我们改变i的整数倍号锁的状态:如果门是关的,就打开它;如果门是开的,就关上它。在最后依次经过后,哪些门是打开的,那些门是关上的?有多少打开的门?

分析:
        一开始门都是锁着的,所以一个门只有奇数次切换状态的时候才会被打开。在第j次(1<= j <= n)走过时,第i(1 <= i <= n)个门会被改变只有当i能被j整除时,即i是j的整数倍。因此,第i个门改变状态的次数就等于它的所有除数的数目。那么,当最后次经过后,奇数个除数的门是打开的,偶数个除数的门是关闭的。
        这里要特别注意,如果i能被j整除,如i = jk,那么i也能被k整除,即他们是一对,是偶数次除数数目(比如i = 12,那么它的除数就是(1, 12), (2, 6), (3, 4), 都是成对出现的)。那么什么情况下i会有奇数个除数呢?答案就是当i为平方数的时候(比如 i = 4, 那么i的除数就只有3个,1, 2, 4)。
        因此,我们求出 ,即可得到想要的答案。

答案:
        1~ 的所有整数的平方数对应的编号的门是打开的,剩下的就是关上的。有 个打开的门。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值