当前位置: 首页 > news >正文

钟表——蓝桥杯十三届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.lryc.cn/news/347818.html

相关文章:

  • CSS 之 圆形波浪进度条效果
  • 按下鼠标进行拖拽,让元素跟随鼠标进行移动,鼠标抬起,元素停止移;js鼠标拖拽 (鼠标按下事件:onmousedown、鼠标移动事件:onmousemove、鼠标抬起事件:onmouseup)
  • 第十二章 项目采购管理
  • PSFR-GAN复现
  • 函数和数组
  • docker安装时报错:Error: Nothing to do
  • 白盒测试:覆盖测试及测试用例设计
  • Java高级开发2024高频面试提问题目
  • Kamailio openssl 3.0.x 需要注意的事项
  • SpringAMQP Work Queue 工作队列
  • 一分钟带你了解什么是等保测评
  • 宝塔面板怎么解决nginx跨域问题
  • Python 自动化脚本系列:第1集
  • 基于PHP开发的图片高清无损在线压缩源码系统 带完整源代码以及搭建教程
  • Linux提权--SUDO(CVE-2021-3156)Polkit(CVE-2021-4034)
  • nodejs里面的 http 模块介绍和使用
  • MVC框架简易实现【精细】
  • Java入门基础学习笔记18——赋值运算符
  • csv 可视化 python代码
  • HashMap 和 Hashtable区别的底层原理
  • 代码随想录35期Day32-Java
  • ROS 2边学边练(45)-- 构建一个能动的机器人模型
  • 【第66例】IPD体系进阶:华为IPD发展历程
  • websevere服务器从零搭建到上线(四)|muduo网络库的基本原理和使用
  • C语言笔记10
  • BMS-HiL主要功能
  • idea无法识别加载pom.xml文件
  • C语言笔记12
  • 说一下 hibernate 的缓存机制?
  • Mac安装jadx