1 条题解

  • 1
    @ 2024-11-24 11:39:38
    #include <iostream>
    using namespace std;
    
    int main() {
        int n;
        cin >> n;
    
        bool cards[10001];  // 用于标记纸牌的状态,true表示数字面朝上,false表示数字面朝下,这里多开一位方便从1开始计数
    
        // 初始化所有纸牌为数字面朝上
        for (int i = 1; i <= n; ++i) {
            cards[i] = true;
        }
    
        // 按照规则进行翻牌操作
        for (int i = 1; i <= n; ++i) {
            for (int j = i; j <= n; j += i) {
                cards[j] =!cards[j];
            }
        }
    
        // 统计并输出最后数字面向下的纸牌
        for (int i = 1; i <= n; ++i) {
            if (!cards[i]) {
                cout << i << " ";
            }
        }
    
        return 0;
    }
    
    • 1

    信息

    ID
    67
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    333
    已通过
    79
    上传者