NYOJ题目77开灯问题】的更多相关文章

开灯问题 时间限制:3000 ms  |            内存限制:65535 KB 难度:1           描述 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯将被关掉),第3 个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推.一共有k个人,问最后有哪些灯开着?输入:n和k,输出开着的灯编号.k≤n≤1000                     输入 输入一组数据:n和k 输出 输出开着的灯编号…
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsUAAAHXCAIAAADbX7BCAAAgAElEQVR4nO3dvVLrSMAm4L0Jci6E2B…
#include <stdio.h> #include <string.h> #define maxn 1050 int a[maxn]; int main(void) { int n,k,i,j; memset(a,0,sizeof(a)); scanf("%d%d",&n,&k); for(i=1; i<=k; i++) for(j=1; j<=n; j++) if(j%i==0)a[j]=!a[j]; for(i=1; i<…
#include<stdio.h> int main() { int a[1010]={0}; //储存灯的开闭情况 int n,k,i,j; scanf("%d%d",&n,&k); for(i=1;i<=k;i++) { for(j=1;j<=n;j++) { if(j%i==0) a[j]=!a[j]; } } for(j=1;j<=n;j++) { if(a[j]) printf("%d ",j); } }…
P1876 开灯 题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编号为1的人走过来,把是一的倍数的灯全部打开,编号为二的的把是二的倍数的灯全部关上,编号为3的人又把是三的倍数的灯开的关上,关的开起来……直到第N个人为止. 给定N,求N轮之后,还有哪几盏是开着的. 输入输出格式 输入格式: 一个数N,表示灯的个数和操作的轮数 输出格式: 若干数,表示开着的电灯编号…
[Luogu1876]开灯(数论) 题面 题目描述 首先所有的灯都是关的(注意是关!),编号为1的人走过来,把是一的倍数的灯全部打开,编号为二的的把是二的倍数的灯全部关上,编号为3的人又把是三的倍数的灯开的关上,关的开起来--直到第N个人为止. 给定N,求N轮之后,还有哪几盏是开着的. 输入输出格式 输入格式: 一个数N,表示灯的个数和操作的轮数 输出格式: 若干数,表示开着的电灯编号 说明 1<=N<=2^40 题解 凭什么这道题目是入门难度!!!! 就因为代码简单???? 想一想,一开始所…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2188 题目大意:n为5-100之间的一个数,代表有多少间牢房,刚开始所有房间打开,第一轮2的倍数的房间(打开的关上,关上的打开),第二轮3的倍数,第四轮4的倍数......n轮,最后有几间牢房打开的 . 解题思路:开灯问题,跟HDU 2053差不多,只要牢房编号是完全平方数,那囚犯就可以逃出去.这里有解释:http://www.cnblogs.com/fu3638/p/7507239.html sq…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2053 题目大意:灯开始是关着的,有n盏灯,i从1数到n每当灯的序号是i的倍数的时候就对灯进行一次操作(开->关,关->开),求最后第n盏灯是关着还是开着. 解题思路:直接对第n盏灯模拟也可以,但是有规律更好不是吗~.其实就是判断n的约束奇偶性,奇数就开着,偶数就关着. 当一个数不是完全平方数:如18约数为:(3,6),(2,19),(1,15)约数个数总会是偶数,因为每个约数都有一个对应的不同的约…
P1876 开灯 题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编号为1的人走过来,把是一的倍数的灯全部打开,编号为二的的把是二的倍数的灯全部关上,编号为3的人又把是三的倍数的灯开的关上,关的开起来--直到第N个人为止. 给定N,求N轮之后,还有哪几盏是开着的. 输入输出格式 输入格式: 一个数N 输出格式: 若干数,表示开着的电灯编号 输入输出样例 输入样例#1…
开灯问题: 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯将被关掉),第3 个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推.一共有k个人,问最后有哪些灯开着?输入:n和k,输出开着的灯编号.k≤n≤1000. 附上代码: #include<stdio.h> #include<string.h> #define MAX 1000+10 int a[MAX]; int main() { , k=; //…