/**1号同学关闭所有灯,2号同学打开所有2的倍数的灯,3号将3的倍数的灯做相反处理,4号同理3号,到n号,哪些灯是开着的*/
#include<iostream>
using namespace std;
int main(){
int a[20];
int n;//同学个数
cin>>n;
for(int i=1;i<=n;i++){
a[i]=0;//1号关灯
}
int k;//计数
for(int j=2;j<=n;j++){
k=1;
while(k*j<=n){
a[k*j]=1-a[k*j];//改变灯的状态,原来是1,1-1就变成0,原来是0,1-0就是1
k++;//k每次加一,这样再和j相乘就是j的倍数了,如果当前的j的倍数比同学个数少,那就转换灯的状态
}
}
for(int i=1;i<=n;i++){
cout<<a[i];
}
}
4
今天也是收获满满的一天~