有100个房间,每个房间里面有一盏灯,开始都是关着的,有100个同学,第一个同学走过房间时拉一的因数,

qnsc332822022-10-04 11:39:541条回答

有100个房间,每个房间里面有一盏灯,开始都是关着的,有100个同学,第一个同学走过房间时拉一的因数,
第二个同学拉二的因数,第三个同学拉三的因数……第100个同学拉100的因数,问最后有几盏灯是亮着的?

已提交,审核后显示!提交回复

共1条回复
依然可疯 共回答了17个问题 | 采纳率76.5%
十盏灯是亮的.从灯的角度去考虑,被拉奇数次的灯,才是亮着的.因数都是成对出现,想找出奇数次的,只有平方数.比如第1盏肯定是亮着,第4盏是亮着的,第9盏也是亮着的.由此推出,1-10的平方数都是亮着的,故此答案为10盏.
1年前

相关推荐

用pascal写这道题宾馆里有100个房间,从1~100编号,第1个服务员把所有的房间门都打开,第2个服务员把所有编号是
用pascal写这道题
宾馆里有100个房间,从1~100编号,第1个服务员把所有的房间门都打开,第2个服务员把所有编号是2的倍数的房间“相反处理”,第3个服务员把所有编号是3的倍数的房间再作“相反处理”……,以后每个服务员都是如此。当第100个服务员来过后,哪几个房间门打开的。(“相反处理”是:原来开着的门关上,原来关上的门打开)急!!!!!!!跪求高手,一定要对的!好的加分!
xianfeng661年前1
东北偏东北 共回答了18个问题 | 采纳率66.7%
program shuzu11;
const n=100;
var a:array[1..n] of boolean;
i,j,k:integer;
begin
for i:=1 to n do a[i]:=true;
for i:=2 to n do
for j:=i to n do
if j mod i=0 then a[j]:=not(a[j]);
for i:=1 to n do
if a[i] then write(i:5);
readln
end.
绝对正确答案,望采纳。