开灯问题—C语言
2024-09-02 16:39:38
开灯问题
有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 ;
}
最新文章
- python json模块
- 【转】JavaScript下对去重算法的优化
- xhprof使用笔记(非原创)
- Cocos2d-x游戏开发之计时器
- Exchange之准备AD及域
- iOS开发——常用Runtime函数
- Smokeping如何清空图标数据
- BF算法(朴素的模式匹配算法)
- schedule()函数的调用时机(周期性调度)
- JDBC事务和JTA事务的区别
- Apriori算法第一篇
- UVa 412 - Pi
- python 输出颜色的与样式的方法
- 冲刺NO.5
- vue admin mock数据
- position的四个属性值
- o2o、c2c、b2c、b2b、b2b2c都是什么?
- Mac定时关机、重启、休眠命令行
- UDS(ISO14229-2006) 汉译(No.7 应用层协议)
- ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge
热门文章
- HHHOJ #151. 「NOI模拟 #2」Nagisa
- 发现Xilinx Virtex 5 FPGA中单个DSP乘法器只支持17位无符号乘法
- jQuery获取各种标签的文本和value值
- bash: ip: command not found
- 阿里云ECS服务器相关配置以及操作---上(初学者)
- openssl 自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书
- spark 监控--WebUi、Metrics System(转载)
- mysql 日期计算集合
- Starting Jenkins bash: /usr/bin/java: 没有那个文件或目录
- Flask 学习(三)路由介绍