考点
本题主要考查数组、循环的熟练使用,是到妥妥的水题。
分析
既然只有开和关,那就只需要一个
b
o
o
l
bool
b
o
o
l
类型的数组来储存的灯状态。 可以用两层循环来模拟灯的状态变化,外层循环枚举
n
n
n
个人,内层循环枚举第
i
i
i
个人的编号倍数的灯并进行取反操作。
AC代码
(不要只看这里啊,虽然我知道你们都喜欢
(不要只看这里啊,虽然我知道你们都喜欢
#include<bits/stdc++.h>
using namespace std;
int n;
bool a[5010];
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=i;j<=n;j+=i)
{
a[j]=!a[j];
}
}
for(int i=1;i<=n;i++)
if(a[i]==1)
cout<<i<<" ";
return 0;
}
以上就是B2092的题解了,希望对你有所帮助。
求个关注不过分吧?
版权声明:本文为dongkunming原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。