信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1109:开关灯
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 11709 通过数: 5381
【题目描述】
假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,
初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。
第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,
第三个人(3号)将编号为3的倍数的灯做相反处理(即将打开的灯关闭,将关闭的灯打开)。
依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。
请问:当第M个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。
【输入】
输入正整数N和M,以单个空格隔开。
【输出】
顺次输出关闭的灯的编号,其间用逗号间隔。
【输入样例】
10 10
【输出样例】
1,4,9
【来源】
No
代码
#include<iostream>
#include<cstring>
using namespace std;
int main()
{int n,m;int a[5001];int i,j;int flag=1;cin>>n>>m;memset(a,0,sizeof(a));//初始化将灯关上for(i=1;i<=m;i++)//m个人依次进行操作for(j=1;j<=n;j++)//对n盏灯进行操作if(j%i==0)//只对人编号的倍数进行操作a[j]=!a[j];//对灯进行相反处理for(i=1;i<=n;i++)//输出灯是关闭的序号{if(a[i]){if(flag) flag=0;//仅第一次不用先输出逗号else cout<<",";cout<<i;}}cout<<endl;return 0;
}
信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1109:开关灯相关推荐
- 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分
信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分 信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分_mrcrack的博客-CSDN博客_信息学奥赛一本通 ...
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1072:鸡尾酒疗法
时间限制: 1000 ms 内存限制: 65536 KB 提交数: 14035 通过数: 6189 [题目描述] 鸡尾酒疗法,指"高效抗逆转录病毒治疗". 人们在鸡尾酒疗法的基础上 ...
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1112:最大值和最小值的差
时间限制: 1000 ms 内存限制: 65536 KB 提交数: 9363 通过数: 5690 [题目描述] 输出一个整数序列中最大的数和最小的数的差. [输入] 第一行为M,表示整数个数,整数个数 ...
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1108:向量点积计算
时间限制: 1000 ms 内存限制: 65536 KB 提交数: 6036 通过数: 4909 [题目描述] 在线性代数.计算几何中,向量点积是一种十分重要的运算. 给定两个n维向量a=(a1,a2 ...
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1107:校门外的树
时间限制: 1000 ms 内存限制: 65536 KB 提交数: 11290 通过数: 6162 [题目描述] 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米. 我们可以把马路 ...
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1106:年龄与疾病
时间限制: 1000 ms 内存限制: 65536 KB 提交数: 10304 通过数: 5830 [题目描述] 某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理, 按照 ...
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1105:数组逆序重存放
时间限制: 1000 ms 内存限制: 65536 KB 提交数: 10572 通过数: 7206 [题目描述] 将一个数组中的值按逆序重新存放.例如,原来的顺序为8,6,5,4,1.要求改为1,4, ...
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1103:陶陶摘苹果
时间限制: 1000 ms 内存限制: 65536 KB 提交数: 12908 通过数: 8682 [题目描述] 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果. 苹果成熟的时候,陶陶就会 ...
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1102:与指定数字相同的数的个数
时间限制: 1000 ms 内存限制: 65536 KB 提交数: 12650 通过数: 8457 [题目描述] 输出一个整数序列中与指定数字相同的数的个数. [输入] 输入包含三行: 第一行为N,表 ...
最新文章
- 编译安装samba4.89遇到的错误
- 使用 Android Studio 跑新浪微博SDK Demo遇到的问题及解决
- linux 常用命令摘录
- Python基础day04 作业解析【3道 字典题】
- Java script第二课
- VS2012 编译 boost1.53/ boost1.49
- 基于英特尔® 优化分析包(OAP)的 Spark 性能优化方案
- Python函数的概念和使用
- 【转】【最小树形图】有向图的最小生成树【朱刘算法】
- 软件项目管理案例教程 第4版 课后习题答案
- plsql导出表结构到excel_PLSQL导出表结构和数据的三种方式
- 豆瓣电台桌面版,满足音乐人的需求!
- 飞天特效腾云驾雾特效手机软件制作特效视频的教程
- 磁盘空间清理·微信文件夹
- Java 1.4(打印表格)编写程序,显示以下表格。
- Ipad各系列年代顺序
- Tomcat6中web项目部署路径webapps和wtpwebapps的区别
- Java编译成功但是运行不成功的原因
- 如何区分np.random.normal()、np.random.randn()、np.random.randint()、np.random.random()、np.random.choice()
- 办公自动化系统OA学习要点