#include <iostream>
#include <vector>

using namespace std;

int main() {
    int N, M;
    cin >> N >> M;

    vector<bool> lights(N + 1, true); // 初始化所有灯都是开启状态

    for (int i = 2; i <= M; i++) {
        for (int j = i; j <= N; j += i) {
            lights[j] = !lights[j]; // 根据规则将灯的状态取反
        }
    }

    bool first = true;
    for (int i = 1; i <= N; i++) {
        if (!lights[i]) {
            if (first) {
                first = false;
            } else {
                cout << ",";
            }
            cout << i; // 输出关闭的灯的编号
        }
    }

    return 0;
}
C++ 代码实现灯泡问题 - 找出关闭的灯泡编号

原文地址: https://www.cveoy.top/t/topic/o7Sq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录