南阳题目77-开灯问题 ゞ 浴缸里的玫瑰 2022-07-27 13:56 134阅读 0赞 ## 开灯问题 ## 时间限制: 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<cstdio> #include<cstring> #include<algorithm> using namespace std; int main() { int a,b,n,m,i,j,s[1010],flag; scanf("%d%d",&a,&b); memset(s,0,sizeof(s)); for(i=1;i<=a;i++) { for(j=1;j<=b;j++) { if(i%j==0) s[i]++; } } flag=1; for(i=1;i<=a;i++) { if(s[i]&1) { if(flag) { printf("%d",i); flag=0; } else printf(" %d",i); } } return 0; }
还没有评论,来说两句吧...