问题遇到的现象和发生背景
【题目描述】
首先所有的灯都是关的(注意是关!),编号为 111 的人走过来,把是 111 的倍数的灯全部打开,编号为 222 的人把是 222 的倍数的灯全部关上,编号为 333 的人又把是 333 的倍数的灯开的关上,关的开起来……直到第NN 个人为止。
给定 N,求 N轮之后,还有哪几盏是开着的
【输入】
一个数 N,表示灯的个数和操作的轮数
【输出】
若干数,表示开着的电灯编号
【输入样例】
5
【输出样例】
1 4
问题相关代码,请勿粘贴截图
#include<iostream>
using namespace std;
int main(){
int n,f;
cin >> n;
for (int i=1;i<=n;i++){
f = 0;
for(int j=1;j<=n;j++){
if(i%j == 0){
f = !f;
}
}
if(f){
cout << i << " ";
}
}
return 0;
}