免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3576 | 回复: 14
打印 上一主题 下一主题

苹果的面灯泡试题,手算有什么比较快的方法? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-20 22:56 |只看该作者 |倒序浏览
本帖最后由 hongxinzha 于 2012-06-20 22:57 编辑

有100盏灯,编了序号1-100,全部打开,然后:
(1)编号为2的倍数的灯,开着的关上
(2)编号为2的倍数的灯,开着的关上,关着的打开
...
(3)编号为100的倍数的灯,开着的关上,关着的打开

这个问题如果自己编个小程序,很快就能算出答案是10

  1. int main(void){
  2.         int bubbles[100]={0};
  3.         for(int n=1;n<=100;++n){
  4.                 for(int b=1;b<=100;++b){
  5.                         if(b%n==0){
  6.                                 int idx=b-1;
  7.                                 bubbles[idx]=!bubbles[idx];
  8.                         }
  9.                 }
  10.         }
  11.         int ret=0;
  12.         for(int c=0;c<100;++c){
  13.                 ret+=bubbles[c];
  14.         }
  15.         printf("%d\n",ret);
  16.     return 0;
  17. }
复制代码
但是如果要手算,有没有比较好的方法能很快的算出答案呢? 谢谢!

论坛徽章:
0
2 [报告]
发表于 2012-06-21 08:55 |只看该作者
就是看一盏灯的序号,能够被多少个数整除,如果是偶数个,则这盏灯是开着的,如果是奇数个,这盏灯就被关掉了

论坛徽章:
0
3 [报告]
发表于 2012-06-21 09:46 |只看该作者
你写的神马?题都看不懂

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
4 [报告]
发表于 2012-06-21 10:10 |只看该作者
让人一看就能认识的字就是好字,
让人一看就能看懂的代码就是好代码

论坛徽章:
1
技术图书徽章
日期:2014-03-06 15:32:30
5 [报告]
发表于 2012-06-21 10:20 |只看该作者
质因数为偶数的那些数,就是100以内的平方数

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
6 [报告]
发表于 2012-06-21 10:24 |只看该作者
好题目,收藏

论坛徽章:
1
技术图书徽章
日期:2014-03-06 15:32:30
7 [报告]
发表于 2012-06-21 10:28 |只看该作者
回复 5# selfrun


    说法错误,是因数个数为偶数的数字

论坛徽章:
0
8 [报告]
发表于 2012-06-24 19:05 |只看该作者
回复 1# hongxinzha


    亮灯的编号是:1,4,9,...,100,哈哈

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2012-06-25 11:23 |只看该作者
(1)编号为2的倍数的灯,开着的关上
(2)编号为2的倍数的灯,开着的关上,关着的打开
按照这样子下去,什么都没有做。1到100还是亮的。

论坛徽章:
0
10 [报告]
发表于 2012-06-25 13:02 |只看该作者
hongxinzha 发表于 2012-06-20 22:56
有100盏灯,编了序号1-100,全部打开,然后:
...


lz写错了吧
应该是
(1)编号为2的倍数的灯,开着的关上
(2)编号为3的倍数的灯,开。。。

你的解答应该不是考官所需要的,虽然很直观。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP