@[Sci_8633](/user/1081521) 当 $i=1$ 时,$j$ 每次乘上 $i$ 都是 `1`,而又符合 `j<=n` 的条件,所以程序死循环。
by zhouzihang1 @ 2024-01-05 19:10:01
int j=i;j<=n;j*=i
这一层卡死了
by LoveYou3000 @ 2024-01-05 19:26:30
```cpp
#include<bits/stdc++.h>
using namespace std;
int n;
bool flag[5005]={0};
int main(){
cin>>n;
for(int i=1;i<=n;++i)
for(int j=i;j<=n;j+=i){
if(flag[j]==0) flag[j]=1;
else if(flag[j]==1) flag[j]=0;
}
for(int i=1;i<=n;++i)
if(flag[i]==1)
cout<<i<<' ';
return 0;
}
```
不用发了,我早就过了。
![AC](https://www.luogu.com.cn/record/142002117)
by Sci_8633 @ 2024-01-05 20:24:51