Pascal 语言问题
问题B:开灯游戏时间限制:1Sec内存限制:128MB题目描述有n盏灯,放在一排,从1到n依次顺序编号。有m个人也从1到m依次顺序编号。第1个人(1号)将灯全部关闭;第2...
问题 B: 开灯游戏
时间限制: 1 Sec 内存限制: 128 MB
题目描述
有n盏灯,放在一排,从1到n依次顺序编号。有m个人也从1到m依次顺序编号。第1个人(1号)将灯全部关闭;第2个人(2号)将凡是2的倍数的灯打开;第3个人(3号)将凡是3的倍数的灯作相反处理(该灯如是打开的,则将它关闭;如是关闭的,则将它打开)。以后的人都和3号一样,将凡是自己编号倍数的灯作相反处理。试计算当第m个人操作后,哪几盏灯是亮的?
输入
从键盘输入n、m的值。(n、m均为正整数,且n>=m)
输出
在同一行输出亮着的灯的编号。(没有灯亮则输出"NO")
样例输入
5 3
样例输出
2 3 4 展开
时间限制: 1 Sec 内存限制: 128 MB
题目描述
有n盏灯,放在一排,从1到n依次顺序编号。有m个人也从1到m依次顺序编号。第1个人(1号)将灯全部关闭;第2个人(2号)将凡是2的倍数的灯打开;第3个人(3号)将凡是3的倍数的灯作相反处理(该灯如是打开的,则将它关闭;如是关闭的,则将它打开)。以后的人都和3号一样,将凡是自己编号倍数的灯作相反处理。试计算当第m个人操作后,哪几盏灯是亮的?
输入
从键盘输入n、m的值。(n、m均为正整数,且n>=m)
输出
在同一行输出亮着的灯的编号。(没有灯亮则输出"NO")
样例输入
5 3
样例输出
2 3 4 展开
1个回答
展开全部
var
n,m:integer;
a:array[1..10000] of boolean;
i,j:integer;
begin
readln(n,m);
for i:=1 to n do a[i]:=true;
for j:=1 to m do
for i:=1 to n do if i mod j=0 then a[i]:=not a[i];
for i:=1 to n do if a[i] then write(i:4);
writeln;
end.
n,m:integer;
a:array[1..10000] of boolean;
i,j:integer;
begin
readln(n,m);
for i:=1 to n do a[i]:=true;
for j:=1 to m do
for i:=1 to n do if i mod j=0 then a[i]:=not a[i];
for i:=1 to n do if a[i] then write(i:4);
writeln;
end.
追问
对不起,这是错的!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询