【脑经急转弯】—— 灯亮还是灭?
2016-06-24 23:55
162 查看
一、问题
100 个灯泡,起始全是灭的。执行 100 次步骤:第i次步骤,对i,2*i,3*i 。。的灯全部切换一下开关(灭的开等,亮的关灯)
最后有多少灯是亮的
二、分析
最终灯灭还是灯灭与等被切换的次数是偶数还是奇数直接相关。偶数:灯亮
奇数:灯灭
三、答案
学会找规律,并抽象出结论。1:1,2,3。。。100
2:2,4,6。。。100
3:3,6,9。。。99
。。。
50:50,100
51:51
。。。
99:99
100:100
第 i 次切换,切换的均是灯泡的编号具有 i 的因子。显然这些 100 以内的数,有多少因子,就被切换多少次,如 48 的因子:1,2,3,4,6,8,12,16,24,48(10次),经过前面的分析我们知,我们需要获取其次数,只需判断因子的个数是奇数,还是偶数。
根据数论的相关理论我们知,只有完全平方数的因子是奇数,因为因子一般是成对出现的,除非该数是完全平方数,其二次方根只出现一次。
100以内的完全平方数为:1、4、16、25、36、49、64、81、100(10个),所以最终有 10 盏灯是亮着的。
相关文章推荐
- 每周学一点Egret(13) nodejs抽离exml皮肤class名
- Javascript高级程序设计第三章知识总结
- 入职两个月的一些感受
- 关于windows 10 安装
- 学期总结
- 单片机串口通信实例
- [BZOJ3944] Sum - 杜教筛
- ubuntu 16.04 LTS 修改 国内源(以中科大源为例)
- Git时光穿梭(版本退回)。。。
- AngularJS 简介
- linux系统下查找文件—whereis命令
- ECharts3.x中的点击事件与行为
- 常用控件
- DELL C6100 U盘安装centos 6.5教程
- android监听软键盘回车键并且解决默认点击两次的问题
- Linux---一些实例来讲解awk命令
- 【json】jsoncpp函数接口
- PAT天梯赛练习题——L3-008. 喊山(邻接表+BFS)
- 浅谈常用输入函数
- Construct2 cr(construct2 runtime)命名空间内的函数