Problem M. S06-21 鸣放礼炮(有意思、初学简单版)
在海军节的开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放一次,B舰每隔6秒放一次,C舰每隔7秒放一次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。
输入
空
输出
一个整型数,对应观众能听到的炮声数
个人解题思路:
理论上有63次礼炮声,但两舰同时鸣炮这种情况只算听到一次礼炮声,所以要减去1次(三舰同时鸣炮这种情况不存在,因为 5、6、7的公倍数为210超出了A舰鸣放第21响的时间——105秒)
#include <iostream>
using namespace std;
int main()
{
int d=0;
for(int a=1; a<=21; a++)
{
for(int b=1; b<=21; b++)
{
if(a*5==b*6)
{
d++;
}
}
}
for(int b=1; b<=21; b++)
{
for(int c=1; c<=21; c++)
{
if(b*6==c*7)
{
d++;
}
}
}
for(int a=1; a<=21; a++)
{
for(int c =1; c<=21; c++)
{
if(a*5==c*7)
{
d++;
}
}
}
int total=0;
total=63-d;
cout<<total;
return 0;
}