您的位置:首页 > 其它

南阳题目77-开灯问题

2016-03-23 00:12 281 查看

开灯问题

时间限制: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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: