开灯问题
#include<iostream.h>
#include<string.h>
int n, k;
bool lightState[1005];
int main()
{
memset(lightState,false,sizeof(lightState));
cin>>n>>k;
int i;
for(i=1;i<=k;i++){
int j=1;
while(i*j<=n){
lightState[i*j]=!lightState[i*j];
j++;
}
}
for(i=1;i<=n;i++){
if(lightState[i]){
cout<<i<<" ";
}
}
cout<<endl;
return 0;
}
#include<stdio.h>
#include<string.h>
#define MAXN 1000+10
int a[MAXN];
int main()
{
int i, j, n, k, first=1;
memset(a,0,sizeof(a));
scanf("%d%d",&n,&k);
for(i=1;i<=k;i++){
for(j=1;j<=n;j++){
if(j%i==0){
a[j]=!a[j];
}
}
}
for(i=1;i<=n;i++){
if(a[i]){
if(first){
first=0;
}
else{
printf(" ");
}
printf("%d",i);
}
}
printf("\n");
return 0;
}