题目内容:在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。
输入格式:无
输出格式:“n=%d”
解题思路:本题可以考虑用总炮数减去他们炮响的公倍数,但是这个思路过于麻烦,故可考虑在时间范围内,听到的炮声数(用if和或(||)语句进行实现)。
#include<stdio.h>
int main()
{
int i=0,a=5,b=6,c=7,n=21,count=0;
for(i=0;i<=100;i++) //计算5s的大炮范围内的听到响声
{
if(i%a==0||i%b==0||i%c==0)
count++;
}
for(i=100;i<=120;i++) // 计算6s的大炮范围内的听到响声
{
if(i%b==0||i%c==0)
count++;
}
for(i=120;i<=140;i++) // 计算7s的大炮范围内的听到响声
{
if(i%c==0)
count++;
}
printf("n=%d",count);
return 0;
}