钟表——蓝桥杯十三届2022国赛大学B组真题

在这里插入图片描述

问题分析

这个问题的关键有两点:1.怎么计算时针,分针,秒针之间的夹角,2.时针,分针,秒针都是匀速运动的,并非跳跃性的。问题1很好解决看下面的代码就能明白,我们先考虑问题2,有的同学可能会想这个答案存在很多,比如6:15,此时时针指向6,分针指向3,秒针指向0,满足A=2B,但其实是不存在这种情况的,因为此时分针指向3,时针必定不可能指向6,而是在6的左边,要记住时钟是渐变的而非跃变的。明白这个就好写了。

写法一

题目告诉我们时针最大值为6,分针最大值60,秒针最大值60,因此可能存在答案的时间范围为1~25199秒(0:0:0这个答案被剔除了),我们以秒为单位来开始遍历。秒针每秒走6度,分钟每10秒走1度,时针每120秒走1度。

#include <bits/stdc++.h>
using namespace std;
int main() {int s,f,m;double ds,df,dm,A,B;for(int i=1;i<=25199;i++){dm=i*6.0;//秒钟转过的角度df=i*0.1;//分钟转过的角度ds=i*1.0/120;//时钟转过的角度while(dm>=360)dm-=360;//求余while(df>=360)df-=360;//求余A=min(fabs(ds-df),360-fabs(ds-df));//夹角必为正值所以取绝对值,但是要在0~180之间,因此要取它与它的补角中较小的。B=min(fabs(dm-df),360-fabs(dm-df));if(fabs(A-2*B)<1e-3){//因为是浮点运算要考虑精度损失cout<<i/60/60<<" "<<i/60%60<<" "<<i%60<<endl;}}return 0;
}

方法二

三层循环遍历时钟,分钟,秒钟的每种情况。

#include<bits/stdc++.h>
using namespace std;int main() 
{for(int s=0;s<=6;++s){//遍历时钟for(int f=0;f<60;++f){//遍历分钟for(int m=0;m<60;++m){//遍历秒钟if(s==0&&f==0&&m==0) continue;double dm=360*m/60;//秒针走过的角度double df=360*f/60+dm/60;//分针走过的角度,dm/60:加上秒钟引起的分钟变化double ds=360*s/12+df/12;//时针走过的角度//df/12:加上分钟引起的时钟变化double A=abs(df-ds),B=abs(df-dm);//取小的角度A=min(A,360-A);B=min(B,360-B);if(fabs(A-2*B)<=1e-10){printf("%d %d %d\n",s,f,m);}}}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/8713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyQt5批量生成Checkbox及批量检查Checkbox的勾选状态

批量生成Checkbox并添加到TableWidget中 for i in range(10):checkbox_i QCheckBox(fCheckbox_{i}) # 生成Checkbox并命名为Checkbox_iself.ui_1.tableWidget_1.setCellWidget(i,1,checkbox_i) 批量检查勾选状态 # 批量生成Checkbox并存入列表 list_Checkbox_1 [] for …

Tomcat端口占用解决方案

Windows操作系统 出现这种情况&#xff1a; Error was Port already in use :40001&#xff1b;nested exception is :java.net.BindException: Address already in use : JVM_Bind; 步骤1&#xff1a;按下winR键&#xff0c;输入cmd 步骤2&#xff1a;输入以下命令 netstat …

git cherry-pick冲突解决

git-cherry使用 git cherry-pick冲突解决&#xff1a; 我使用的vscode, 选择incomming&#xff0c;没实际图片&#xff0c;不贴了。。。 解决冲突后&#xff0c; git add . 再&#xff0c; git cherry-pick --continue 然后 git push 即可 若&#xff1a; remote: GitLab…

Vue2中引入ElementUI

Vue中引入ElementUI 目录 Vue中引入ElementUI安装 全库导入main.py使用 仅引入样式文件main.py使用 安装 官方文档 npm i element-ui -S全库导入 main.py import ElementUI from element-ui;Vue.use(ElementUI)使用 <template> <div class"main">&l…

AXI4-Lite读写时序在AXI Block RAM 控制器IP核中的应用

AXI Block RAM (BRAM) 控制器是一个软件IP核&#xff0c;专为与Xilinx Vivado设计套件一起使用而设计。该IP核被设计为AXI端点从设备IP&#xff0c;用于与AXI互联和系统主设备集成&#xff0c;以便与本地块RAM进行通信。 AXI BRAM控制器IP核可以通过设置设计参数C_S_AXI_PROTOC…

anything-llm的嵌入式聊天小部件

anything-llm 详情移步到官方: https://github.com/Mintplex-Labs/anything-llm anything-llm可以docker启动和本地启动 例如&#xff1a;docker 启动&#xff0c; 自行去安装docker哈 cd 到docker文件夹下&#xff0c; 窗口运行&#xff1a; docker-compose up -d --build运…

Qt客户端开发的技术难点

Qt客户端开发中可能会遇到的下面的一些技术难点&#xff0c;了解这些难点并采取有效的措施可以帮助开发者更高效地进行Qt客户端开发。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.跨平台兼容性&#xff1a; Qt框架支持多种操作系…

Leetcode127.单词接龙

https://leetcode.cn/problems/word-ladder/description/?envTypestudy-plan-v2&envIdtop-interview-150 文章目录 题目描述解题思路代码-BFS解题思路二——双向BFS代码 题目描述 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 …

2024.05.08作业

登陆部分代码 /登陆槽函数 void Widget::btn_clicked() {if(edit1->text()"Admin" && edit2->text()"123456"){//登陆成功对话框QMessageBox box(QMessageBox::Information,"信息对话框","登陆成功",QMessageBox::Ok,t…

制冷机组喷液冷却与经济器的介绍

在制冷机组中&#xff0c;喷液冷却与经济器两者虽同可以为提升制冷系统效率与性能&#xff0c;经济器是一种特殊的换热器&#xff0c;主要用于制冷系统中&#xff0c;以提高系统的效率和性能。通常安装在制冷机组的冷凝器之后、膨胀阀之前的位置&#xff0c;确保在制冷剂流向蒸…

hadoop学习---基于Hive的教育平台数据仓库分析案例(三)

衔接第一部分&#xff0c;第一部分请点击&#xff1a;基于Hive的教育平台数据仓库分析案例&#xff08;一) 衔接第二部分&#xff0c;第二部分请点击&#xff1a;基于Hive的教育平台数据仓库分析案例&#xff08;二) 学生出勤模块&#xff08;全量分析&#xff09;&#xff1a…

手写Spring Ioc 循环依赖底层源码剖析

手写Spring Ioc 循环依赖底层源码剖析 前言 Spring Ioc 是一个非常重要的框架&#xff0c;它的核心是依赖注入&#xff08;DI&#xff09;和控制反转&#xff08;IOC&#xff09;。在使用 Spring Ioc 的过程中&#xff0c;我们经常会遇到循环依赖的问题。本文将介绍手写 Spri…

生产制造中刀具管理系统,帮助工厂不再频繁换刀

一、刀具管理的定义与重要性 刀具管理是指对生产过程中使用的各种刀具进行计划、采购、存储、分配、使用、监控、维修和报废等全过程的管理。刀具作为制造过程中的直接工具&#xff0c;其性能、质量和使用效率直接影响产品的加工精度、表面质量和生产效率。因此&#xff0c;建…

算法学习(6)-最短路径

目录 Floyd-Warshall算法 Dijkstra算法 Bellman-Ford算法 Bellman-Ford的队列优化 最短路径算法对比分析 Floyd-Warshall算法 现在回到问题&#xff1a;如何求任意两点之间的最短路径呢&#xff1f; 通过之前的学习&#xff0c; 我们知道通过深度或广度优先搜索可以求出两…

PostgreSQL自带的命令行工具14- pg_test_timing

PostgreSQL自带的命令行工具14- pg_test_timing 基础信息 OS版本&#xff1a;Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本&#xff1a;16.2 pg软件目录&#xff1a;/home/pg16/soft pg数据目录&#xff1a;/home/pg16/data 端口&#xff1a;5777pg_test_timi…

【 npm详解:从入门到精通】

文章目录 npm详解&#xff1a;从入门到精通1. [npm](https://www.npmjs.com/)的安装2. npm的基础用法2.1 初始化项目2.2 安装依赖2.3 卸载依赖2.4 更新依赖 3. npm的高级用法3.1 运行脚本3.2 使用npm scope3.3 使用npm link 4. npm资源5. 使用npm进行依赖树分析和可视化6. npm进…

使用Nuxt.js实现服务端渲染(SSR)

Nuxt.js 是一个基于 Vue.js 的框架&#xff0c;它提供了服务器端渲染&#xff08;SSR&#xff09;和静态站点生成&#xff08;SSG&#xff09;的能力&#xff0c;使开发者能够轻松地构建高效、优雅的前端应用。Nuxt.js 集成了许多开箱即用的功能和工具&#xff0c;帮助开发者快…

天诚人脸物联网锁+网约房管理系统为智慧酒店、民宿管理赋能

随着互联网技术的发展&#xff0c;“网约房”逐渐步入受众视野&#xff0c;在改变旅客入住模式和生活方式的同时&#xff0c;为旅客旅游住宿创造了新的选择&#xff0c;也为拥有冗余房间资源的房东提供了新的营收路径。但是&#xff0c;网约房的管理问题频发&#xff0c;需要数…

springcloud alibaba微服务框架涉及的技术

一、微服务架构中核心模块及其使用技术总览 二、各模块详细说明 1、注册中心 该模块主要功能为 自动提供服务的注册与发现&#xff0c;集中式管理服务&#xff0c;让 服务调用端发现服务&#xff0c;让服务提供端注册服务&#xff0c;倘若没有注册中心&#xff0c;那客户端就…

Jenkins的原理及应用详解(三)

本系列文章简介&#xff1a; Jenkins是一种自动化构建工具&#xff0c;它的出现使得软件开发过程变得更加高效、可靠和可持续。它采用了一种事件驱动的架构&#xff0c;能够通过触发不同的事件来执行相应的构建任务和操作。Jenkins支持多种版本控制系统的集成&#xff0c;可以自…