2018 蓝桥杯省赛 B 组模拟赛(一)-----开关灯

时间:2022-09-09 23:25:46

蒜头君今天回到了老家的大宅院,老家的灯还是那中拉线的灯(拉一次为亮,再拉一次就灭),蒜头君觉得无聊。把 10001000 盏灯 33 的倍数拉了一次,55的倍数拉了一次,7的倍数拉了一次(灯得的编号从 1-10001−1000,灯的初始状态都是亮的)。这个时候蒜头君在想还剩下几盏灯还在亮着?

提示:请不要输出多余的符号。

要注意,先把3的倍数拉了,再拉5的倍数,最后拉7的倍数。

因为假如一个数既是3的倍数,又是5的倍数,就会被拉两次。

#include<iostream>
#include<cstring>
using namespace std;

int main()
{
	int n,m,j,k,i,T,sum=0;
	bool a[2000];
	memset(a,1,sizeof(a));
	for(i=1;i<=1000;i++)
	{
		if (i%3==0)
		{
			if (a[i]==true) a[i]=false;
			else a[i]=true;
		}
	}
	for(i=1;i<=1000;i++)
	{
		if (i%5==0)
		{
			if (a[i]==true) a[i]=false;
			else a[i]=true;
		}
	}
	for(i=1;i<=1000;i++)
	{
		if (i%7==0)
		{
			if (a[i]==true) a[i]=false;
			else a[i]=true;
		}
	}
	
	for (i=1;i<=1000;i++)
	sum+=a[i];
	
	
	cout<<sum<<endl;
	return 0;
}