开灯问题

原创 2013年12月04日 22:30:26

开灯问题

时间限制:3000 ms  |  内存限制:65535 KB
难度:1
描述

有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯将被关掉),第3 个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推。一共有k个人,问最后有哪些灯开着?输入:n和k,输出开着的灯编号。k≤n≤1000

输入
输入一组数据:n和k
输出
输出开着的灯编号
样例输入
7 3
样例输出
1 5 6 7
 
#include<stdio.h>

int main()
{//1:close 0:open
	int a[1005];
	int n, k;
	int i, j;
	scanf("%d%d", &n, &k);
	for(i = 0; i <= n; i++)//n 个灯初始化
		a[i] = 0;
	for(i = 2; i <=k; i++){//k个人
		for(j = i; j <= n; j+= i){//n盏灯的状态变的与之前状态相反
			a[j] = !a[j]; 
		}
	}

	for(i = 1; i <= n; i++)
		if(a[i] == 0)
			printf("%d ", i);
	printf("\n");
	return 0;
}        


开灯问题用C语言怎么解决 ?

问题:走廊里依次排列着100盏灯,依次从1号编100号,都关着。有100个学生从1号编到100号,依次走来,1号学生从第一只开关按起,凡是1的倍数都按一下,2号学生从第二只开关按起,凡是2的倍数都按一...
  • baidu_33836580
  • baidu_33836580
  • 2016年01月25日 12:12
  • 1608

nyoj 77 开灯问题

开灯问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描述 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯将被关掉...
  • ling_du
  • ling_du
  • 2014年09月09日 23:18
  • 782

C语言 开灯问题

开灯问题。有n盏灯,编号为1~n。第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推...
  • Artprog
  • Artprog
  • 2017年01月27日 13:52
  • 1105

算法篇-开灯问题

题目:有n盏灯,编号1~n.第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依次类推。一共...
  • Liuchang54
  • Liuchang54
  • 2015年04月02日 21:30
  • 1315

【经典算法】:开灯问题,貌似没啥新解法了。。。

题目有n盏灯,编号为1~n,第一个人把所有灯打开,第二个人按下所有编号为2的倍数开关(这些灯将被关掉),第三个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),一次类推,一共有...
  • qq_23100787
  • qq_23100787
  • 2015年09月29日 14:06
  • 2152

算法入门开灯问题

#include #include using namespace std; //开灯问题,数组问题 //输入灯的总数,人数 #define maxn 101 int main() { int...
  • yhongyu
  • yhongyu
  • 2016年05月30日 15:52
  • 122

开灯问题(南阳oj77)

开灯问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描述 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯将被关掉),第3 ...
  • hdd871532887
  • hdd871532887
  • 2014年11月05日 21:55
  • 556

1151: 零起点学算法58——开灯问题

1151: 零起点学算法58——开灯问题 时间限制: 1 Sec  内存限制: 64 MB [提交][状态][讨论版] Problem Description 计算中心有8个机房,每个机房...
  • qq_29656961
  • qq_29656961
  • 2017年01月12日 18:02
  • 906

C语言每日小练(二)——开灯问题

开灯问题~
  • u012904198
  • u012904198
  • 2014年04月09日 07:28
  • 3577

程序3-2 开灯问题

看到这个问题的解决代码时难免有些疑惑,书中“设置了一个变量first,可以表示当前要输出的变量是为第一个”这种方法是否是必要的。 就这个问题来看,这种输出的实现方式(下文称方式一)必然会在循环中做n次...
  • Alfa_Jin
  • Alfa_Jin
  • 2017年11月05日 19:36
  • 34
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:开灯问题
举报原因:
原因补充:

(最多只允许输入30个字)