首页 > 其他 > 详细

开灯问题

时间:2014-04-26 00:17:09      阅读:482      评论:0      收藏: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<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;


int main(int argc, char* argv[])
{
int b[1005],i,j,n,k;
memset(b,-1,sizeof(b));
cin>>n>>k;
for(i=1;i<=k;i++)
for(j=1;j*i<=n;j++)
b[i*j]=-b[i*j];
for(i=1;i<=n;i++)
if(b[i]==1)
cout<<i<<" ";
cout<<endl;
return 0;
}

开灯问题,布布扣,bubuko.com

开灯问题

原文:http://www.cnblogs.com/52Cyan/p/3690093.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!