题目
在海军节开幕式上,有A,B,C 三艘军舰要同时开始后鸣放礼炮各21响,已知A舰每隔5s放一次。
B舰每隔6s放一次,C舰每隔7s放一次。假设各炮手对时间掌握的非常准确,请编程计算观众
总共可以听到几次炮响。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=5,j=6,k=7,m ;
int m1 = 0, m2 = 0, m3 = 0, sum = 0 ; //设置累加器
for (m = 1 ; m <= 21 ; m++ ) //一共循环21次
{
m1 = m1 + i ; // m1 存放每次 A 舰 的秒数
m2 = m2 + j ; // m2 存放每次 B 舰 的秒数
m3 = m3 + k ; // m3 存放每次 C 舰 的秒数
if (m1 == m2 || m2 == m3 || m1 == m3) // 若有任意两个舰炮声重合 ,累加器就加一
{
sum++ ;
}
i = i + 5 ; // 比较后,累加 A 舰 秒数 加 5s
j = j + 6 ; // 比较后,累加 B 舰 秒数 加 6s
k = k + 7 ; // 比较后,累加 C 舰 秒数 加 7s
}
printf("观众听到%d下炮声",21*3-sum); // 三个 舰 一共放21*3次炮,减去重合的炮声
printf("\n") ; // 就是观众听到的炮声
return 0 ;
}