哪个朋友帮我做下着这道C语言程序题!谢谢了!!!

来源:百度知道 编辑:UC知道 时间:2024/06/14 08:01:50
有100盏灯,由100个开关控制,现在有100个人顺序从每个开关走过,第1个人将所有开关拨一下,第2个人将偶数开关拨一下,第3个人将3的倍数的开关拨一下,依次类推。问,100人过后,哪些灯是亮的,哪些灯是灭的?
先设开关开的。。。!但这还是运行不了

我这里假设刚开始都是开的,0代表开,1代表关。最后把开的输出来了 .
之前写的是用c++写的。改为c语言如下。在vc运行过的。不知道你用的是什么编译器?
#include<stdio.h>
#include<math.h>
#include<memory.h>
main()
{
int a[101];
memset(a,0,sizeof(a)); //初始化为0,表示开的
int i=1,j=1;
for(i=1;i<=100;i++)
for(j=1;j<=100;j++)
{
if(j%i==0)
{
if(a[j]==1)
a[j]=0;
else
a[j]=1;
}
}
for(i=1;i<=100;i++)
if(a[i]==0)
printf("%d ",i);
printf("\n");
return ;
}

先告诉那100盏灯最原始是开的还是关的再做吧.

有点意思。思考ING。。。。。。