C语言的开灯问题,有短代码不理解 求大神解答。

#include<stdio.h>#include<string.h>#definemaxn1050inta[maxn];intmain(){intn,k,first=1... #include<stdio.h>
#include<string.h>
#define maxn 1050
int a[maxn];
int main()
{
int n,k,first=1;
memset(a,0,sizeof(a));
scanf("%d %d",&n,&k);
for(int i=1;i<=k;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])
{
if(first)first=0;
else
printf(" ");
printf("%d",i);
}
printf("\n");
return 0;
}
展开
 我来答
cdyzxy
2019-10-14 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3780万
展开全部
a[j]=!a[j]的意思是a[j]取原来值的逻辑反,比如原来为0,则取反后为1保存,原来如果是1,则运算后保存为0, 可以用a[j]=1-a[j];代替
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式