在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。 **输出格式要求:"n = %d\n"
思路:
利用while循环进行时间上的仿真模拟:随着时间的增加,在符合条件的时间点上(if判断)增加一次礼炮次数。注意:在某一时间点可能出现两艘军舰同时响,在if判断时用或连接条件即可。
#include<stdio.h>
int main()
{
int sum = 0;
int i = 5;
int x = 5, y = 6, z = 7;
while (i <= 105)
{
if (i % x == 0 || i % y == 0 || i % z == 0)
{
sum++;
}
i++;
}
while (i >= 106 && i <= 126)
{
if (i % y == 0 || i % z == 0)
{
sum++;
}
i++;
}
while (i >= 127 && i <= 147)
{
if (i % z == 0)
{
sum++;
}
i++;
}
printf("n = %d", sum);
}