C语言习题——礼炮响声次数
一、题目 及 原题链接:c语言练习题
题目:在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。
二、解题过程
最开始的思路是:各礼炮次数范围内,整除其他礼炮时的声音会被覆盖,所以假设5秒礼炮全能听见,再加上六秒和七秒礼炮的未覆盖次数。结果计算为:52次。
错误原因:当6秒礼炮响第20次,7秒礼炮响第二十次时,5秒礼炮已响完却仍被减去了qwq。
二改后的思路:按各礼炮时间范围内进行循环,也就是跟所给链接相同的解法。(好吧,虽说最后的程序和所给答案一毛一样,俺也确实瞄了下思路……但程序倒的确是自己寻思的!)(试图解释)
答案:The sum of the numbers heard is 54
三、正确程序
#include<stdio.h>
int main()
{int sum,i;sum=0;for(i=0;i<21*7;i++){if(i%5==0&&i<=21*5){sum++;continue;} /*时间内5秒礼炮次数*/if(i%6==0&&i<=21*6){sum++;continue;} /*时间内6秒礼炮次数*/if(i%7==0){sum++;} /*时间内7秒礼炮次数*/}printf("The sum of the numbers heard is %d\n",sum);return 0;
}
注:错误的程序!
#include<stdio.h>
int main()
{int sum,i;sum=21; /*设5秒礼炮全能听见*/i=0;do{i++;if(i%5==0||i%7==0)continue;sum++;}while(i<21); /*6秒礼炮没被覆盖*/i=0;do{i++;if(i%5==0)continue;sum++;}while(i<21); /*7秒礼炮没被覆盖*/printf("The sum of the number heard is %d\n",sum);return 0;
}
C语言习题——礼炮响声次数相关推荐
- C语言计算礼炮声响次数(穷举和递推)
编写一个小程序,计算观众能听到的礼炮声响次数.具体描述如下: 在庆祝活动中,A,B,C三艘军舰要同时开始鸣放礼炮各21响.已知A军舰每隔5秒放1次,B军舰每隔6秒放1次,C军舰每隔7秒放1次.假设各炮 ...
- C语言计算礼炮声响次数(代码原创)
#include<stdio.h> int main() {int n,i;n=0;for(i=0;i<21*7;i++){if(i%5==0&&i<=21*5 ...
- 用c语言编制牛顿法程序,求解试用newton法求函数,YTU 2405: C语言习题 牛顿迭代法求根...
2405: C语言习题 牛顿迭代法求根 时间限制: 1 Sec 内存限制: 128 MB 提交: 562 解决: 317 题目描述 用牛顿迭代法求根.方程为ax3+bx2+cx+d=0.系数a,b ...
- 生信学习——生信人的20个R语言习题(上)(附详细答案解读)
题目目录 1. 安装一些R包. 2. 了解ExpressionSet对象,比如CLL包里面就有data(sCLLex),找到它包含的元素,提取其表达矩阵(使用exprs函数),查看其大小. 3. 了解 ...
- 用c语言实现单链表的初始化,建表,查找,求长度,插入,删除等操作,【YTU+2430+C语言习题+链表建立+插入+删除+输(5)...
的打印.判断链表是否为空.计算链表长度.插入节点.删除节点.删除整个链表.(2) 线性表adt顺序存储实现中的创建.查找.插入和删除等基本操作及相关算法,线性表adt链式存储实现中单链表.循环链表和双 ...
- c语言上机指导答案清华,第一章自测练习答案清华大学c语言习题实验指导及课程设计...
第一章自测练习答案清华大学c语言习题实验指导及课程设计 第一章 自测练习参考答案 一.简答题 1.源程序是程序员创建的,目标程序是编译器创建的,可执行程序是连接器创建的. 2.步骤如下:1)说明程序需 ...
- Problem B: C语言习题 矩阵元素变换
Problem B: C语言习题 矩阵元素变换 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 942 Solved: 558 [Submit][St ...
- Problem G: C语言习题 医生值班
Problem G: C语言习题 医生值班 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 847 Solved: 102 [Submit][Stat ...
- Problem B: C语言习题 学生成绩输入和输出
Problem B: C语言习题 学生成绩输入和输出 Description 编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据,每个学生的数据包括num(学号).name(姓名 ...
最新文章
- SQL操作语句中的注意点
- c语言dll注入器,Module Injector-Module Injector(DLL动态库注入器)下载 v1.0--pc6下载站
- java判断读到末尾_Flink实战:自定义KafkaDeserializationSchema(Java/Scala)
- d9900 修改ip 思科dcm_思科设备SSH登陆详细配置过程
- 明年,5G iPhone不只一款!
- 4个技巧,教你如何用excel绘制出高大上的图表
- 【Android】16.5 Android内置的系统服务
- Stm32:地址空间划分
- SpringBoot--自动装配之Import注解以及源码分析
- jms.jar 2.0_JMS API 1.1生产者和使用者
- 台大李宏毅Machine Learning 2017Fall学习笔记 (8)Backpropagation
- Linux双网卡bonding举例
- 如何查看oracle客户端的版本,如何查看Oracle客户端版本
- 计算机组成原理运算器设计实验之8位可控加减法电路设计
- 探索 ES8 Object.entries()
- 《Centos的下载详细步骤》
- SGD(随机梯度下降)
- 使用微信小程序怎么用wx.storage来实现收藏功能?
- 昨日伦镍交易无效静待上海处理结果,橡胶认购大涨,印尼神油强势涨停YP新低2022.3.9
- 最常用的三角函数值和三角变形公式