洛谷B2092 开关灯 题解

  • Post author:
  • Post category:其他




考点

本题主要考查数组、循环的熟练使用,是到妥妥的水题。



分析

既然只有开和关,那就只需要一个



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 版权协议,转载请附上原文出处链接和本声明。