10分求助

B2092 开关灯

@[Dodgehqs101](/user/1028310) 输入为一行,一个整数N,为灯的数量。你有两个输入
by Wyttie @ 2023-08-11 11:32:08


@[Wyttie](/user/673672) 改了,谢谢。
by Dodgehqs101 @ 2023-08-12 07:38:02


@[Dodgehqs101](/user/1028310) 改好了你思路全错 ```cpp #include<bits/stdc++.h> using namespace std; inline int read() { int x = 0, y = 1; char c = getchar(); while (c < '0' || c > '9') { if (c == '-') y = -1; c = getchar(); } while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar(); return x * y; } bool f[5000 + 5]; int n; int main() { memset (f, 0, sizeof (f));//认真审题可知编号为一的缺德玩意把所有灯都给关了 n = read(); for (int i = 2; i <= n; i++)//从2开始判断 for (int j = 2; j <= i; j++)//内循环的j必须<i,因为除数只能是从2到自己编号 if (i % j == 0) f[i] = !f[i];//判断是否能整除,如果能则将其做负处理 for (int i = 1; i <= n; i++) if (f[i] == 0) cout << i << " ";//0为关灯,如果灯是关的则输出编号 return 0; } ``` 求个关注,不可以白嫖,从你我做起
by ZD_LZD @ 2023-09-10 17:52:53


|