题目地址

分析:

用一个数组来保存每盏灯的操作的次数。推断奇偶就可以推断灯的状态。

最后的输出格式须要注意一下空格的位置,思路就是现输出一个。剩下来的输出在前面加一个空格。

空格用_表示:

1_3_5_7



代码:

/*
有n盏灯,编号为1~n,第1个人把全部灯打开,
第2个人按下全部编号为2 的倍数的开关(这些灯将被关掉),
第3 个人按下全部编号为3的倍数的开关(当中关掉的灯将被打开,开着的灯将被关闭),依此类推。
一共同拥有k个人,问最后有哪些灯开着?
输入:n和k。输出开着的灯编号。k≤n≤1000
*/
#include<iostream>
using namespace std;
int main()
{
int n,k;
cin>>n>>k;
int *a = new int[n]; //={0}; //每一盏灯被操作的次数
for(int i=0;i<n;i++)
a[i]=0;
for(int i=0;i<k;i++)
{
//i+1的倍数的灯被打开 a[j*(i+1)]
for(int j=1;j*(i+1)<=n;j++) //考虑灯
{
a[j*(i+1)-1]++; //考虑灯在数组中的下标
}
}
for(int j=0;j<n;j++)
if(a[j]%2)
{
cout<<++j; //第几盏灯 正好j加一是下次循环的開始
for(;j<n;j++)
if(a[j]%2) cout<<" "<<j+1;
break;
}
return 0;
}

NYOJ_77 开灯问题的更多相关文章

  1. c语言实现开灯问题

    开灯问题: 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯将被关掉),第3 个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依 ...

  2. Jquery开灯关灯效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 9509 开灯(dfs)

    9509 开灯 时间限制:1000MS  内存限制:65535K提交次数:0 通过次数:0 题型: 编程题   语言: G++;GCC Description 有16的开关分别控制16盏灯,开关排列成 ...

  4. NYOJ 题目77 开灯问题(简单模拟)

    开灯问题 时间限制:3000 ms  |            内存限制:65535 KB 难度:1           描述 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 ...

  5. 洛谷 P1876 开灯(思维,枚举,规律题)

    P1876 开灯 题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编 ...

  6. 【Luogu1876】开灯(数论)

    [Luogu1876]开灯(数论) 题面 题目描述 首先所有的灯都是关的(注意是关!),编号为1的人走过来,把是一的倍数的灯全部打开,编号为二的的把是二的倍数的灯全部关上,编号为3的人又把是三的倍数的 ...

  7. POJ 1218 THE DRUNK JAILER(类开灯问题,完全平方数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2188 题目大意:n为5-100之间的一个数,代表有多少间牢房,刚开始所有房间打开,第一轮2的倍数的房间 ...

  8. 30个Python物联网小实验3:使用按钮开灯关灯

    使用按钮开灯关灯 接线图非常简单,LED接GPIO17号口,按钮接GPIO2号口,负极接GND地线. 代码也非常简单: from gpiozero import LED, Button from si ...

  9. Java项目案例之---开灯(面向对象复习)

    开灯(面向对象复习) 设计一个台灯类(Lamp)其中台灯有灯泡类(Buble)这个属性,还有开灯(on)这个方法 设计一个灯泡类(Buble),灯泡类有发亮的方法 其中有红灯泡类(RedBuble)和 ...

随机推荐

  1. 通过curl获取网页访问时间

    curl -w %{time_namelookup}:%{time_connect}:%{time_starttransfer}:%{time_total}:%{speed_download}&quo ...

  2. php截取字符串|php截取字符串前几位|php截取中文字符串

    转 截取字符串专题:php截取字符串函数,php 字符串长度,php截取字符串前几位 PHP截取中文字符串(mb_substr)和获取中文 => http://www.q3060.com/lis ...

  3. 一个简单的MyBatis项目(应用)

    ### 1. MYBATIS简介  MYBATIS是持久层框架,大大的简化了持久层开发.  当使用MYBATIS框架时,开发人员不必再编写繁琐的JDBC代码,只需要定义好每个功能对应的抽象方法与需要执 ...

  4. 【Paper Reading】Bayesian Face Sketch Synthesis

    Contribution: 1) Systematic interpretation to existing face sketch synthesis methods. 2) Bayesian fa ...

  5. 计数排序(counting-sort)

    计数排序是一种稳定的排序算法,它不是比较排序.计数排序是有条件限制的:排序的数必须是n个0到k的数,所以计数排序不适合给字母排序.计数排序时间复杂度:O(n+k),空间复杂度:O(k),当k=n时,时 ...

  6. LVM 镜像硬盘更换、数据恢复(centos7.4 redhat7.5)

      案例说明 Centos7 VG:vg LV:vg-lvRedhat 7.5VG:vgtest LV:lvtest 目的:模拟硬盘 /dev/sdb损坏.在线添加新硬盘/dev/sdc,lv镜像数据 ...

  7. nginx编译支持HTTP2.0

    nginx编译支持HTTP2.0 nginx编译支持HTTP2.0 wget https://www.openssl.org/source/openssl-1.1.0i.tar.gz #openssl ...

  8. python常见操作的模板

    1.生成要求稀疏度的随机矩阵 import scipy import scipy.sparse import numpy n=10 m=10 density=0.5 matrixformat='coo ...

  9. CAD二次开发(02)-添加对象到模型空间

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. Java基础学习总结(45)——JAVA单元测试工具比较

    1.简介 jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性.Jtest先分析每个java类,然后自动生 ...