前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开灯问题

开灯问题

作者头像
苦咖啡
发布2018-05-08 16:56:31
5620
发布2018-05-08 16:56:31
举报
文章被收录于专栏:我的博客
代码语言:javascript
复制
<?php
/*
* 开灯问题
* 描述:
* n盏灯,编号为1——n,第一个人把所有的灯打开,第二个人会按下所有编号为2的倍数的开关
* 这样本来开着的灯会关上,第三个人会按下3的倍数的开关,那么关的灯会打开,开的灯会
* 关掉,依次类推,问最后开着的灯的编号是?(k<=n<=1000)
*/
$n = 100;
$k = 10;
//第一个参数是开始的索引,第二个是填充个数,第三个是填充的元素值
$deng = array_fill(1, $n, 0);
for ($i = 1;$i <= $k;$i++) {
for ($j = 1;$j <= $n;$j++) {
if ($j % $i == 0) {
$deng[$j] = !$deng[$j];
}
}
}
for ($i = 1;$i <= $n; $i++) {
if($deng[$i]) {
echo $i.” “;
}
}
?>

这样不论如何变换都可以知道结果了,比如:关着的编号是?刚开始灯是开着的,然后求关着和开着的呢???是不是很有意思呢?

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013年3月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档