输入n(灯的数量)和k(人的数量)
输出开着的灯 的编号
#include <stdio.h>
#include <string.h>
#define maxn 1010
int a[maxn];
int main()
{
int n, k, first = 1;
memset(a,0,sizeof(a)); //数组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;
}
样例输入:
7 3
样例输出:
1 5 6 7