B2092 开关灯

思路

定义 bool 数组 a,a[i] 表示第 i 个灯是否关闭

1n 枚举每个人,对于每个人,枚举倍数。

令人数×倍数 n,再修改 a[ 人数 × 倍数 ] 的状态。

代码

#include <iostream>
using namespace std;
bool a[5001];int n;
int main()
{
    cin >> n;
    for(int i = 1;i <= n;++i) //枚举每个人
        for(int j = 1;i * j <= n;++j) //枚举倍数,人数×倍数≤n
            a[i * j] = !a[i * j]; //修改状态
    for(int i = 1;i <= n;++i)
        if(a[i]) cout << i << " "; //灯是关的,输出
    return 0;
}
posted @   Jijidawang  阅读(32)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示