计蒜客 信息学题库 T1079 开关灯

2023-05-16

T1079 开关灯

假设有 N 盏灯(N 为不大于 5000 的正整数),从 1 到 N 按顺序依次编号,初始时全部处于开启状态;有 M 个人(M 为不大于 N 的正整数)也从 1 到 M 依次编号。

第一个人(1 号)将灯全部关闭,第二个人(2 号)将编号为 2 的倍数的灯打开,第三个人(3 号)将编号为 3 的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和 3 号一样,将凡是自己编号倍数的灯做相反处理。

请问:当第 M 个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。

输入格式
输入正整数 N 和 M,以单个空格隔开,M≤N。

输出格式
顺次输出关闭的灯的编号,其间用逗号间隔。

输出时每行末尾的多余空格,不影响答案正确性

样例输入

10 10

样例输出

1,4,9

解题思路: 见代码

#include<stdio.h>
#include<math.h>
int main()
{
int N[5001],M[5001],n,i,j,x,y;
scanf("%d %d",&x,&y);
if (x>=y&&x<=5000){
	//分配初始值
	for (n=1;n<=x;n++){
		N[n]=1;
		M[n]=n;
	}
	//开关灯
	for (n=1;n<=y;n++){
		for(i=1;i<=x;i++){
		j=M[n]*i;
		if(j<=x)
		N[j]=abs(1-N[j]);
		}
	}
	//输出
	for (n=1,i=1;n<=x;n++){
		if (N[n]==0){
			if (i>1)
			printf(",");
			printf("%d",n);
			i++;
		}
	}
}
return 0;
} 

注意:

代码提交成功。如果你有更好的方法,可以一起讨论下。如果哪里有错误,欢迎指出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计蒜客 信息学题库 T1079 开关灯 的相关文章

随机推荐

  • 利用套接字创建本地socket文件完成本地进程间通信

    利用套接字创建socket文件完成本地两个进程之间的通信 xff0c 这里分为进程A和进程B 进程A 头文件 进程A里面首先是各种头文件 xff1a 1 include lt stdio h gt 2 include lt stdlib h
  • C++在字符串中搜索特定的字符

    C 43 43 在字符串中搜索特定的字符 在字符串中搜索特定字符是指在字符串中寻找是否存在指定的字符或字符集 include lt iostream gt int main int argc const char argv std stri
  • C++中在字符串中提取子字符串

    C 43 43 中在字符串中提取子字符串 从字符串中提取子字符串是指将一个字符串中的一部分截取下来形成一个新的字符串 include lt iostream gt int main int argc const char argv std
  • C++中如何访问字符串中的单个字符

    访问字符串中的单个字符 访问字符串中的单个字符是像字符数组那样使用下标访问字符串中的某个元素 include lt iostream gt int main int argc const char argv std string str1
  • c中有时候一个名字具有块作用域但是有外部链接的一个例子

    文件1 c include lt stdio h gt void f void s具有块作用域 xff0c 但是具有外部链接 extern int s printf 34 d n 34 s int main f return 0 文件2 c
  • Javascript Map 对象使用说明

    Map 是 ES6 中引入的一种新的数据结构 xff0c 对象保存键值对 任何值 对象或者原始值 都可以作为一个键或一个值 以前用的JS对象 Object也是可以把其属性看作键来定位数据 xff0c 但 Map 和 Object 是有区别的
  • 如何将Mac备份到外置硬盘?

    Apple爱好者喜欢该其设备的时尚设计和简单的用户界面 然而 xff0c 设置Mac的备份可能会令人沮丧 xff0c 因为大多数外部硬盘驱动器在使用之前必须进行格式化 然而 xff0c 如果了解如何将Mac备份到外部硬盘驱动器后 xff0c
  • C++中字符串的交换与复制

    字符串的交换是指将两个字符串的内容互相交换 字符串复制是指生成一个新的字符串其内容为原有字符串的内容 include lt iostream gt int main std string str1 61 34 Hello 34 std st
  • Kali2022安装Docker和Docker-compose以及更改国内镜像源

    装之前可以选择更新一下软件库 root kali apt update 安装docker root kali apt install docker io root kali docker version 查看Docker版本 root ka
  • Mac系统配置php环境

    写在前面 叨叨叨 急着配环境的同志们可以绕道 最近学校的实验室里接了一个小项目 考勤刷卡系统 xff0c 利用RFID在硬件层获取学生卡的ID xff0c 通过wifi传输至服务器 xff0c 进行考勤信息存储 xff0c 手机端获取服务器
  • 病毒变种--C语言练习

    病毒变种 病毒DNA可以表示成由一些字母组成的字符串序列 xff0c 且病毒的DNA序列是环状的 例如 xff0c 假设病毒的DNA序列为baa xff0c 则该病毒的DNA序列有三种变种 xff1a baa aab aba 试编写一程序
  • http、https 等 常用默认端口号

    HTTP协议代理服务器常用端口号 xff1a 80 8080 3128 8081 9080 SOCKS代理协议服务器常用端口号 xff1a 1080 FTP xff08 文件传输 xff09 协议代理服务器常用端口号 xff1a 21 Te
  • 网络传输性能netperf测试方法和下载

    简介 Netperf是一种网络性能的测试工具 xff0c 主要针对基于TCP或UDP的传输 Netperf根据应用的不同 xff0c 可以进行不同模式的网络性能测试 xff0c 即批量数据传输 xff08 bulk data transfe
  • 个人服务器(Linux)安装confluence

    个人服务器 Linux 安装confluence 文章目录 个人服务器 Linux 安装confluence 前言 一 服务器配置 二 JDK环境安装 1 下载java8 2 上传安装包 3 解压缩并重命名 4 配置jdk环境变量 5 测试
  • 关于Windows利用Mstsc远程访问Ubutu的VNC方法

    这里发现了一篇网上很好的文章 xff0c 实现也很顺利 xff0c 因此将那篇文章直接引用过来 地址为 xff1a https www cnblogs com xuliangxing p 7642650 html
  • VSCode 常用且好用的插件推荐

    python相关插件 Tabnine AI代码提示器 xff08 支持JavaScript Python Java Typescript amp all other languages xff09 Python vscode 的 pytho
  • Qt中实现图片透明度设置与显示

    在使用QGraphicsScene过程中 xff0c 想要实现背景和前景图层叠加显示 xff0c 需要设置对应层绘图的透明度的设置 采用重写drawBackground QPainter painter const QRectF amp r
  • c语言现代发方法19章学习经历记录

    19 4 5用栈实现抽象数据类型 这里简直太牛了 xff0c 直接定义一个结构体类型的栈 xff0c 里面是一个头节点 xff08 也是一个指针 xff09 后面直接定义一个栈的指针对象 xff0c 那么就可以随意改变栈里面的内容 xff0
  • 计蒜客 信息学题库 T1068 救援

    T1068 救援 救生船从大本营出发 xff0c 营救若干屋顶上的人回到大本营 xff0c 屋顶数目以及每个屋顶的坐标和人数都将由输入决定 xff0c 求出所有人都到达大本营并登陆所用的时间 在直角坐标系的原点是大本营 xff0c 救生船每
  • 计蒜客 信息学题库 T1079 开关灯

    T1079 开关灯 假设有 N 盏灯 xff08 N 为不大于 5000 的正整数 xff09 xff0c 从 1 到 N 按顺序依次编号 xff0c 初始时全部处于开启状态 xff1b 有 M 个人 xff08 M 为不大于 N 的正整数