酷代码 AI
菜单
服务商

题目描述 宾馆里有n(2≤n≤1000)个灯,从1∼n编了号,一开始灯都是关上的。 第一个服务员把所有的灯都打开了; 第二个服务员把所有编号是2的倍数的灯"相反处理"; 第三个服务员把所有编号是3的倍数的房间作"相反处理"; … 以后每个服务员都是如此。 当第n个服务员来过后,哪几个灯是打开的。(所谓“相反处理”是:原来开着的灯关上,原来关上的灯打开。) 输入 灯的个数 输出 一行,由小到大的打开门的灯序号,各序号之间用一个空格隔开。 样例输入 复制 10 样例输出 复制 1 4 9

```cpp #include <iostream> #include <cmath> using namespace std; int main() { int n; cin >> n; // 只有完全平方数的灯会被打开 for (int i = 1; i * i <= n; i++) { cout << i * i; if ((i + 1) * (i + 1) <= n) { cout << " "; } } return 0; } ``` [2025-12-31 12:29:54 | AI问答 | 101点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多