m0_63538177 2021-11-17 17:35 采纳率: 88.6%
浏览 252
已结题

c语言开灯问题(数组题

描述
有n盏灯,编号为1-n。第1个人把所有的灯打开,第二个人按下所有编号为2的倍数的开关(这些灯被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,打开的灯将被关闭),以此类推。一共有k个人,问最后有哪些灯开着?输入:n和k,输出开着的灯的编号。K≤n≤1000.
格式
输入格式
输入n和k

输出格式
输出开着灯的编号

样例
样例输入
7 3
样例输出
1 5 6 7

  • 写回答

1条回答 默认 最新

  • 关注

    你题目的解答代码如下:

    #include<stdio.h>
    int main()
    {
     int n,k,count,i,j;
     scanf("%d%d",&n,&k);
     for(i=1;i<=n;i++)
     {
      count=0;
      for(j=1;j<=k;j++)
      {
       if(i%j==0)count=count+1;
      }
      if(count%2==1)printf("%d ",i);//为满足要求%d后面有一个空格!!!!
     }
     return 0;
    }
    

    如有帮助,望采纳!谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月25日
  • 已采纳回答 11月17日
  • 创建了问题 11月17日