->> 在庆祝活动中,A,B,C三艘军舰要同时开始鸣放礼炮21响,已知A每隔5秒放一次,B每隔6秒放一次,C每隔7秒放一次,假设各炮手把握时间准确,请问观众共可以听到多少次?
->>思路, n为炮声计数器,t为时间,0秒开始为第一响,知道最后结束,此时为20*7。因此,用循环模拟时间变化,t从0到t>20*7结束,在循环里进行判断,t如果是5的倍数且21未放完,则A放一响,n+1,如果t是6的倍数且21响未放完,则B放一响,n+1,C同理,但要注意的是,当2舰或3舰同时鸣炮,应记1响。
答案为 54 。
#include<iostream>
using namespace std;
int main()
{
int n=0;
int t;
for(int t=0;t<=20*7;t++)
{
if(t % 5==0 && t<=5*20)
{
n++;
continue;
}
if(t%6 ==0&& t<=6*20)
{
n++;
continue;
}
if(t%7==0)
{
n++;
continue;
}
}
cout<<n<<endl;
return 0;
}