开灯问题

有n盏灯,编号为1~n.第1个人把所有灯打开,第2个人按下所有编号为2的倍数开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关,以此类推。一共有k个人,问最后哪些灯是开着?输入n和k,输出开着的灯的编号。k<=n<=100

•样例输入

7 3

•样例输出

1 5 6 7

思路:1.定义一组数组,初始化状态为0(开灯状态用1表示,关灯状态用0表示)

   2.遍历循环k个人的操作,判断灯的号码是否为第i个人的倍数,符合条件则取反灯的开关状态

3.最后遍历数组,输出状态为1的灯的编号

代码如下:

#include<stdio.h>
#include<string.h>
int main()
{
int n,k;
int a[];
memset(a,,sizeof(a));//假设0表示灯关着,1表示灯开着,初始设置所有灯为关闭
scanf("%d%d",&n,&k);//输入n盏灯,k个人
for(int i=;i<=k;i++)//第1~k个人
for(int j=;j<=n;j++)
if(j%i==) a[j]=!a[j];//判断灯的号码是否为第i个人的倍数,符合条件则取反灯的开关状态
for(i=;i<=n;i++)
if(a[i])//输出开着的灯的编号
printf("%d ",i);
printf("\n");
return ;
}

最新文章

  1. python json模块
  2. 【转】JavaScript下对去重算法的优化
  3. xhprof使用笔记(非原创)
  4. Cocos2d-x游戏开发之计时器
  5. Exchange之准备AD及域
  6. iOS开发——常用Runtime函数
  7. Smokeping如何清空图标数据
  8. BF算法(朴素的模式匹配算法)
  9. schedule()函数的调用时机(周期性调度)
  10. JDBC事务和JTA事务的区别
  11. Apriori算法第一篇
  12. UVa 412 - Pi
  13. python 输出颜色的与样式的方法
  14. 冲刺NO.5
  15. vue admin mock数据
  16. position的四个属性值
  17. o2o、c2c、b2c、b2b、b2b2c都是什么?
  18. Mac定时关机、重启、休眠命令行
  19. UDS(ISO14229-2006) 汉译(No.7 应用层协议)
  20. ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge

热门文章

  1. HHHOJ #151. 「NOI模拟 #2」Nagisa
  2. 发现Xilinx Virtex 5 FPGA中单个DSP乘法器只支持17位无符号乘法
  3. jQuery获取各种标签的文本和value值
  4. bash: ip: command not found
  5. 阿里云ECS服务器相关配置以及操作---上(初学者)
  6. openssl 自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书
  7. spark 监控--WebUi、Metrics System(转载)
  8. mysql 日期计算集合
  9. Starting Jenkins bash: /usr/bin/java: 没有那个文件或目录
  10. Flask 学习(三)路由介绍