C练习——21响三方礼炮重叠计数
2024-01-08 17:00:34
题目:
在海军开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。
解析:
count作为观众听到礼炮声次数,时间轴 t 从第 0s 开始,此时三方同响,count++,往后ABC各按间隔每方都响满20次为止,while循环t,对于礼炮A,如果t 是5的整数,则响,BC同理。
注意一个时间点上,只要ABC有一个响,count++,时间终点以C为准
逻辑:
while循环时间t,if判断count++,t++,t>20*7终止,
参考代码:
// 在海军开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。
// 已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。
// 假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。
#include <stdio.h>
int main()
{
int t = 0;
int count = 0; // 注意:0s,ABC齐响
while (t<=20*7)
{
if ((t % 5 == 0 && t<= 20*5 )|| (t % 6 == 0 && t<= 20*6 ) || (t % 7 == 0 && t<= 20*7)) // A||B||C
{
count++;
}
t++;
}
printf("共听%d次礼炮声,用时%ds\n", count, t);
return 0;
}
运行结果:
文章来源:https://blog.csdn.net/2301_76271519/article/details/135454342
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!