题目描述
有N盏,开始时灯都是亮着的,每个灯都有一个开关控制着。
现按其顺序编号为1,2,3,……N,然后将编号为2的倍数的灯拉一下,其次将编号为3的倍数的灯拉一下,再将编号为4的倍数的灯拉一下,最后将编号为5的倍数的灯拉一下。
四次拉完之后,问亮着的灯的编号?
输入格式
一个整数n(其中1≤n≤30) 。
输出格式
输出亮着灯的编号,数据之间1个空格隔开。
样例输入
10
样例输出
1 4 6 7 8 10
程序如下
#include<iostream>
using namespace std;
int a[33];
int main()
{
int n,i;
cin>>n;
for(i = 1; i <= n; i++)
{
a[i] = 1;
}
for(i = 1; i <= n; i++)
{
if(i % 2 == 0)
{
if(a[i] == 1)
{
a[i] = 0;
}
else
{
a[i] = 1;
}
}
if(i % 3 == 0)
{
if(a[i] == 1)
{
a[i] = 0;
}
else
{
a[i] = 1;
}
}
if(i % 4 == 0)
{
if(a[i] == 1)
{
a[i] = 0;
}
else
{
a[i] = 1;
}
}
if(i % 5 == 0)
{
if(a[i] == 1)
{
a[i] = 0;
}
else
{
a[i] = 1;
}
}
}
for(i = 1; i <= n; i++)
{
if(a[i] == 1)
{
cout<<i<<" ";
}
}
return 0;
}