关于开灯问题,为什么运行不出来,感觉没错呀

#include<stdio.h>
 #define N 100
 int main()
 {
    int n,k,i,j;
    int a[N];
    printf("请输入n:");
    scanf("%d",&n);
    printf("请输入k:");
    scanf("%d",&k);
    for(i=0;i<n;i++)
    {
        a[i]=0;
     }
    for(i=0;i<=k;i++)
    {
        for(j=0;j<=n;j++)
        {
            if(j%i==0)
            {
                if(a[j]==0)
                {
                    a[j]=1;
                 }
                 else
                 {
                    a[j]=0;
                 }
             }                  
         }
     }
     for(i=0;i<n;i++)
     {
        if(a[i]==1)
        printf("%d",i);

     }
     return 0;
}

代码有点混乱。int a[N]加上第一个for循环,是不是把a所有元素都设为0了,以及j%i ??????能除以0吗????试试把最后的if改成等于0.看看能不能跑点东西出来