<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
window.onload = function() {
var r=3;
var d=9;
var arr = [];
for (var j=0;j<=d+1;j++) {
arr.push(0);
}
for (var i=1;i<=r;i++) {
for(var j=1;j<=d;j++){
debugger;
if (j%i===0) {
arr[j]=(arr[j]===0?1:0);
}
}
}
var str ="";
for(var k=1;k<=d;k++){
str+=arr[k]+" | ";
}
document.getElementById("show").innerHTML = str;
}
</script>
</head>
<body>
<div id="">
<br/> 问题:
<br/> 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),
<br/> 第3个人按下所有编号为3的倍数的开关(其中关掉的灯被打开, 开着灯将被关闭),依此类推。
<br/> 一共有k个人,问最后有哪些灯开着?
<br/> 输入:n和k,输出开着的灯编号。k≤n≤1000。
<br/> 样例输入:
<br/> 7 3
<br/>
<br/> 样例输出:
<br/>
<br/> 1 5 6 7
<br/> 分析:
<br/> 用 a[1],a[2],......,a[n] 表示编号为1,2,3,.......,n 的灯是否开着。
<br/>
<br/> ---------------------
<br/>0:为关灯;1:为开灯。
<br/>
</div>
<div id="show">
</div>
</body>
</html>

9584

被折叠的 条评论
为什么被折叠?



