#include <stdio.h>
void show(int n, int k)
{
int a[n]; //0 -- n-1
for(int i=0; i<n; i++)
{
a[i] = 1;
}
for(int i=0; i<n; i++)
{
for(int j=2; j<=k; j++)
{
if((i+1) % j == 0)
{
if(a[i] == 0)
{
a[i]=1;
}
else if(a[i] == 1)
{
a[i]=0;
}
}
}笔试题:有k个人,有编号从1至n的n盏灯,第1个人将所有的灯打开,第2个人将编号是2的倍数的开关按下,第3个人将编号是3的倍数的灯开关按下。。。以此类推,直到第k个人将编号是k的倍数的灯的开关按下,请实现一个函数,将亮着的灯的编号打印出来(k < n)
}
for(int i=0; i<n; i++)
{
if(a[i] == 1)
printf("%d ",i+1);
}
}
int main () {
show(30,30);
return 0;
}