解题思路:
        这里简单说一下吧,说到这里,请看我的优质答案!相信爱坤都能明白=_=||
注意事项:
        他这个输出的设置就很鸡贼,中间有逗号,最后没有逗号,所以又要我int kun 去做一个判断......
参考代码:

#include<stdio.h>

int main()

{

    int N,M,i,j;//N个灯,M个人

    int a[5000];//数组a用来记录开关灯的次数

    int kun=0;//这个kun是为后面的小鸡脚做铺垫

    scanf("%d %d",&N,&M);

    for(i=0;i<N;i++)

        a[i]=0;

   for(i=1;i<=M;i++)

   {

           for(j=1;j<=N;j++)

            {

                if(j%i==0)//这里用数组a是0是1来判断灯的开关

                {

                    if(a[j-1])

                    a[j-1]=0;

                    else

                    a[j-1]=1;//解释一下,这里是把所有灯都关上的意思

                }

            }

   }

   for(i=0;i<N;i++)

   {

       if(a[i]==1)

       {

           if(kun==0)//这里的逗号就很鸡贼,一不小心输出后面就多了一个逗号

           {

            printf("%d",i+1);

            kun++;

           }

           else

           printf(",%d",i+1);

       }

   }


    return 0;

}


点赞(0)
 

0.0分

3 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

uq_35650903691 1年前 回复TA
#include<stdio.h>
int main()
{
    int m,n,i,j,g=0;	
	if(scanf("%d %d",&m,&n))
    {
	int a[10000]={0};
	for(i=1;i<=n;i++)
    	{
    	    for(j=0;j<m;j++)
    	    {
    	      if((j+1)%i==0)
    	      {
    	          if(a[j]==1)
    	          {
    	              a[j]=0;
    	          }
    	          else
    	          a[j]=1;
    	      }
    	    }
    	}
	for(i=0;i<m;i++)
	{
	    if(a[i]==1)
        {
          if(g==0)
          {
          printf("%d",i+1);	    
          g++;
          }
            else
            printf(",%d",i+1);
        }
	}
	return 0;
}    
}