wuxiangtianbei @ 2022-12-08 20:08:25
#include<stdio.h>
int main()
{
int a[100]={0},n,i,r,j;
scanf("%d",&n);
for(r=1;r<=n;r++)
for(i=1;i<=n;i++)
if(i%r==0)a[i]=1-a[i];
for(j=1;j<=n;j++)
{
if(a[j]==1)
printf("%d ",j);
}
}
by Ggsddu_zzy @ 2022-12-08 21:08:22
@wuxiangtianbei
第一,数组开小了;
第二,如果灯的标号是当前人的标号,灯就做相反操作。
if(i%r==0)a[i]=!a[i];
by WangRui_26_ @ 2023-01-05 14:58:44
我给你改了一下(我的风格可能跟你不一样)