Q6.6

问题:在过道上有100把上了锁的锁头。有一个人,第一次操作把这100把锁都打开了; 第二次操作,每隔1个锁他就把锁给锁上(即把编号2,4,6…100的锁锁上)。 第三次操作,每隔2个锁他就改变锁的状态,即如果原本是开着的,他就锁上; 原本是锁着的,他就给打开。(操作对象是编号为3,6,9…99的锁)。 当他做完第100次操作后(即只对编号为100的锁操作),打开着的锁有几把?

分析:每次就改变一些锁的状态。第1把锁只会在第1次操作时被改变状态, 第2把锁会在第1次及第2次操作时被改变状态,假设能被i整除的数有a,b,c, (包含1和它本身),那么第i把锁会被改变3次,分别是在第a,b,c次操作的时候。 这样一来,对于第i把锁,如果能被i整除的数有奇数个, 那么它最后的状态一定打开的,否则则是关闭的。问题就转换为1到100的数中, 哪些数能整除的数的个数有奇数个。而,一个数i如果能整除a, 那么它也可以整除i/a,这样一来,一个数能整除的数总是成对出现, 为了使个数是奇数,这里面一定要有一对是相等的,即a = i/a,也就是:i = a2, 所以,最后开着的锁就是编号为完全平方数的锁,即:

1, 4, 9, 16, 25, 36, 49, 64, 81, 100

一共有10把锁是打开着的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值