直接看题:
开关灯
此题用模拟的复杂度是O(n²) ,其实有更优解就是用完全平方数。但是我不想在C++中遇到数学。。。所以用模拟解。
把数组的类型设为bool类型即可!
AC代码:
#include<bits/stdc++.h> using namespace std; int n; bool a[50597]; int main(){ cin>>n; for(int i=1;i<=n;i++){ a[i]=true; } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(j%i==0){ a[j]=!a[j]; } } } for (int i=1;i<=n;i++) { if(a[i]==false){ cout<<i<<" "; } } return 0; }