灯光灯
描述
蒜头君今天回到了老家的大宅院,老家的灯还是那中拉线的灯(拉一次为亮,再拉一次就灭),蒜头君觉得无聊。把 1000盏灯 3 的倍数拉了一次,5 的倍数拉了一次,7的倍数拉了一次(灯得的编号从 1-1000,灯的初始状态都是亮的)。这个时候蒜头君在想还剩下几盏灯还在亮着?
提示:请不要输出多余的符号。
#include<iostream>
#include<cmath>
using namespace std;
int main(){ //初始都是亮的
int count=1000;
cout<<count<<endl;
for(int i=1;i<1001;i++){
if(i%3==0 || i%5==0 || i%7==0){
count--;
}
if(i%3==0 && i%5==0){
count++;
}
if(i%3==0 && i%7==0){
count++;
}
if(i%5==0 && i%7==0){
count++;
}
if(i%5==0 && i%3==0 && i%7==0){
count-=3; //因为每次判断都会重复一次,所以要减三次(三个if语句)
}
}
cout<<count;
return 0;
}
count-=3;//这里我本来是count--的但是都是错的,
//后来发现,上面的每次if()语句都会加一次,所以要减三次3,5,7的公倍数。