Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
52442 | zouqinghua | 开关灯 | C++ | 解答错误 | 1 MS | 244 KB | 1210 | 2024-10-06 18:24:25 |
#include <iostream> using namespace std; int main() { int n, m; // 定义两个变量 n 和 m,分别表示灯的总数和人的总数 cin >> n >> m; int a[n+1]; // 定义一个长度为 n+1 的数组 a,用来表示灯的状态(下标从1到n) // 初始化所有灯的状态为 1(开启状态) for(int i = 1; i <= n; i++) { a[i] = 1; // 1 表示灯是开启状态 } // 模拟 M 个人的操作,每个人按照规则操作灯 for (int j = 1; j <= m; j++) { // 遍历所有灯编号 for(int i = 1; i <= n; i++) { // 如果灯的编号 i 是当前人的编号 j 的倍数,则反转该灯的状态 if(i % j == 0) { a[i] = !a[i]; // 反转灯的状态:1 变 0,0 变 1 } } } // 输出所有关闭状态(0)的灯的编号,输出时用逗号分隔 for (int i = 1; i <= n; i++) { // 如果灯的状态是 0,表示该灯关闭 if (a[i] == 0) { cout << i << ","; // 输出关闭的灯的编号,后跟一个逗号 } } return 0; // 程序执行完毕,返回 0 表示成功 }