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

蓝桥杯每日真题 - 第15天

题目:(钟表)

题目描述(13届 C&C++ B组B题)

解题思路:

  1. 理解钟表指针的运动

    • 秒针每分钟转一圈,即每秒转6度。

    • 分针每小时转一圈,即每分钟转6度。

    • 时针每12小时转一圈,即每分钟转0.5度。

  2. 计算角度

    • 秒针的角度 S=6m(其中 m 是秒)。

    • 分针的角度 M=6f+0.1m(其中 f 是分)。

    • 时针的角度 H=30s+0.5f+0.0083m(其中 s 是小时)。

  3. 计算夹角

    • 分针和时针的夹角 A=∣H−M∣。

    • 分针和秒针的夹角 B=∣M−S∣。

  4. 条件判断

    • 需要满足 A=2B。

  5. 遍历时间

    • 从 s=0 到 s=6,ff 从 0 到 59,mm 从 0 到 59,检查每个时间点是否满足条件。

代码实现(C语言):

#include <stdio.h>
#include <stdlib.h>int main()
{int h = 0, m = 0, s = 0; // 时、分、秒double A, B, H, M, S;    // A、B 表示题目中的夹角,H、M、S 表示时针、分针、秒针的度数while (h < 6) // 时针只需遍历 0~6{s++; // 秒针每秒加一if (s == 60) // 秒针转一圈{s = 0;m++;}if (m == 60) // 分针转一圈{m = 0;h++;}// 计算秒针、分针、时针当前的位置(以度数为单位)S = s * 6.0;                           // 秒针每秒走6度M = (m + s / 60.0) * 6.0;              // 分针每分钟走6度,并加上秒针带来的细微变化H = (h + m / 60.0 + s / 3600.0) * 30.0; // 时针每小时走30度,并加上分针和秒针带来的变化// 计算时针与分针的夹角 AA = (H > M) ? (H - M) : (M - H);if (A > 180) A = 360 - A; // 确保 A 在 [0, 180] 范围内// 计算分针与秒针的夹角 BB = (S > M) ? (S - M) : (M - S);if (B > 180) B = 360 - B; // 确保 B 在 [0, 180] 范围内// 判断是否满足 A = 2Bif (A == 2 * B){// 找到答案后直接跳出循环break;}}// 输出时、分、秒printf("%d %d %d\n", h, m, s);return 0;
}

得到运行结果:

代码分析: 

变量说明

  • h, m, s:分别表示小时、分钟、秒的整数值。

  • H, M, S:分别表示时针、分针、秒针所指向的具体角度(度数)。

  • A, B:分别表示时针与分针的夹角、分针与秒针的夹角。

角度计算

  • 秒针的角度[ S = s \times 6.0 ]。秒针每秒钟走 6 度。

  • 分针的角度[ M = (m + \frac{s}{60.0}) \times 6.0 ]。分针每分钟走 6 度,且秒针的细微变化会影响分针的位置。

  • 时针的角度[ H = (h + \frac{m}{60.0} + \frac{s}{3600.0}) \times 30.0 ]。时针每小时走 30 度,同时分针和秒针也会微调时针的位置。

夹角计算

  • 两个指针的夹角:是大角减小角,如果夹角大于 180 度,取补角。

  • 时针与分针夹角 A
    [ A = (H > M) ? (H - M) : (M - H); ]
    [ \text{if } A > 180 \text{ then } A = 360 - A; ]

  • 分针与秒针夹角 B
    [ B = (S > M) ? (S - M) : (M - S); ]
    [ \text{if } B > 180 \text{ then } B = 360 - B; ]

判断条件

  • 只需判断是否满足 ( A = 2B )。

循环终止

  • 当找到符合条件的时、分、秒时,用 break 终止循环,输出结果即可。

难度分析

⭐️⭐️⭐️

总结

这段代码通过模拟时钟的运行,计算出在一天中的某个时刻,时针和分针的夹角是分针和秒针夹角的两倍。这个问题考察了对时间的理解和指针运动的计算,以及如何将这些计算转化为代码实现。

相关文章:

蓝桥杯每日真题 - 第15天

题目&#xff1a;&#xff08;钟表&#xff09; 题目描述&#xff08;13届 C&C B组B题&#xff09; 解题思路&#xff1a; 理解钟表指针的运动&#xff1a; 秒针每分钟转一圈&#xff0c;即每秒转6度。 分针每小时转一圈&#xff0c;即每分钟转6度。 时针每12小时转一圈…...

Python的Matplotlib

介绍&#xff1a; Matplotlib 是一个非常强大的 Python 绘图库&#xff0c;支持多种不同类型的图表。以下是 Matplotlib 支持的一些常见图表类型&#xff1a; 前情提要&#xff1a; from matplotlib import rcParams# 设置支持中文的字体 rcParams[font.sans-serif] [SimHei…...

Python数据分析:分组转换transform方法

大家好&#xff0c;在数据分析中&#xff0c;需要对数据进行分组统计与计算&#xff0c;Pandas的groupby功能提供了强大的分组功能。transform方法是groupby中常用的转换方法之一&#xff0c;它允许在分组的基础上进行灵活的转换和计算&#xff0c;并将结果与原始数据保持相同的…...

高效灵活的Django URL配置与反向URL实现方案

高效灵活的Django URL配置与反向URL实现方案 目录 &#x1f4d1; 1. 基本的Django URL配置及反向URL的实现 &#x1f527; 2. 使用path()替代re_path()配置URL的优势与劣势 &#x1f6e0;️ 3. 使用URL命名空间&#xff08;namespace&#xff09;提高URL管理的可维护性 &…...

深入探讨 MySQL 配置与优化:从零到生产环境的最佳实践20241112

深入探讨 MySQL 配置与优化&#xff1a;从零到生产环境的最佳实践 引言 MySQL 是全球最受欢迎的开源关系型数据库之一&#xff0c;其高性能、灵活性和广泛的社区支持使其成为无数开发者的首选。然而&#xff0c;部署一台高效、稳定的 MySQL 实例并非易事。本文将结合一个实际…...

Java-Redisson分布式锁+自定义注解+AOP的方式来实现后台防止重复请求扩展

1. 添加依赖 首先,在项目的pom.xml文件中添加Redisson和Spring AOP的相关依赖: <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.16.8</version> </dependency> <dependency…...

Java 全栈知识体系

包含: Java 基础, Java 部分源码, JVM, Spring, Spring Boot, Spring Cloud, 数据库原理, MySQL, ElasticSearch, MongoDB, Docker, k8s, CI&CD, Linux, DevOps, 分布式, 中间件, 开发工具, Git, IDE, 源码阅读&#xff0c;读书笔记, 开源项目......

树状数组+概率论,ABC380G - Another Shuffle Window

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 G - Another Shuffle Window 二、解题报告 1、思路分析 不难用树状数组计…...

机器学习day1-数据集

机器学习 一、机器学习 1.定义 让计算机在数据中学习规律并根据得到的规律对未来进行预测。 2.发展史 19世纪50年代&#xff1a;图灵测试提出、塞缪尔开发的西洋跳棋程序&#xff0c;标志着机器学习正式进入发展期 19世纪80年代&#xff1a;神经网络反向传播&#xff08;…...

【Golang】——Gin 框架中的路由与请求处理

文章目录 1. 路由基础1.1 什么是路由&#xff1f;1.2 Gin 中的路由概述 2. 创建简单路由2.1 基本路由定义2.2 不同请求方法的路由 3. 路由参数3.1 路径参数3.2 查询参数 4. 路由分组4.1 为什么使用路由分组&#xff1f;4.2 路由分组示例 5. 请求处理与响应5.1 Gin 中的 Context…...

nuxt3添加wowjs动效

1、安装wowjs pnpm i wowjs1.1.32、node_modules复制wowjs代码 路径/node_modules/wowjs/dist/wow.js。不知道路径则查看node_modules/wowjs/package.json里面的main选项 2.1、在public文件夹创建wowjs.js文件 /public/wowjs.js export default (callthis) > { // !!// 这是…...

我们是如何实现 TiDB Cloud Serverless 的 - 成本篇

作者&#xff1a; shiyuhang0 原文来源&#xff1a; https://tidb.net/blog/fbedeea4 背景 Serverless 数据库是云原生时代的产物&#xff0c;它提供全托管&#xff0c;按需付费&#xff0c;自动弹性的云数据库服务&#xff0c;让客户免于繁重的数据库运维工作。关于 Serve…...

PCL算法汇总

参考 【2024最新版】PCL点云处理算法汇总&#xff08;C长期更新版&#xff09;_pcl点云聚类c-CSDN博客...

sql注入之二次注入(sqlilabs-less24)

二阶注入&#xff08;Second-Order Injection&#xff09;是一种特殊的 SQL 注入攻击&#xff0c;通常发生在用户输入的数据首先被存储在数据库中&#xff0c;然后在后续的操作中被使用时&#xff0c;触发了注入漏洞。与传统的 SQL 注入&#xff08;直接注入&#xff09;不同&a…...

Android compose 软键盘 遮挡对话框中TextField 输入框

在AlertDialog对话框中含有TextField输入框时&#xff0c;弹出软件盘会遮挡输入框 解决1&#xff1a; 在AndroidManifest.xml的 MainActivity中添加如下 android:windowSoftInputMode"adjustResize" 然后AlertDialog 中的modify. modify.windowInsetsP…...

spring-data-elasticsearch 3.2.4 实现桶bucket排序去重,实现指定字段的聚合搜索

一、背景 es索引有一个文档CourseIndex&#xff0c;下面是示意: creatorIdgradesubjectnameno1002270英语听力课程一N00232DS91004380数学口算课程N00209DK71003480物理竞赛课程N00642XS21002280英语听力课程二N00432WS31002290英语听力课程三N002312DP5 在搜索的时候&#…...

【项目开发】分析六种常用软件架构

未经许可,不得转载。 文章目录 软件架构核心内容设计原则分层架构常见层次划分优缺点应用场景事件驱动架构核心组件优缺点应用场景微核架构核心概念优缺点应用场景微服务架构核心组件设计与实施优缺点应用场景云架构云架构模式优缺点应用场景软件架构 软件架构是指一个软件系…...

算法和程序的区别

算法&#xff08;Algorithm&#xff09;和程序&#xff08;Program&#xff09;是计算机科学中两个密切相关但不同的概念。让我们通过以下几个方面来比较它们&#xff1a; ### 1. 设计 vs 实现 - **算法设计&#xff08;Algorithm Design&#xff09;**&#xff1a; - **定…...

用指针遍历数组

#include<stdio.h> int main() {//定义一个二维数组int arr[3][4] {{1,2,3,4},{2,3,4,5},{3,4,5,6},};//获取二维数组的指针int (*p)[4] arr;//二维数组里存的是一维数组int[4]for (int i 0; i < 3; i){//遍历一维数组for (int j 0; j <4; j){printf("%d &…...

《Probing the 3D Awareness of Visual Foundation Models》论文解析——多视图一致性

一、论文简介 论文讨论了大规模预训练产生的视觉基础模型在处理任意图像时的强大能力&#xff0c;这些模型不仅能够完成训练任务&#xff0c;其中间表示还对其他视觉任务&#xff08;如检测和分割&#xff09;有用。研究者们提出了一个问题&#xff1a;这些模型是否能够表示物体…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

深入浅出Diffusion模型:从原理到实践的全方位教程

I. 引言&#xff1a;生成式AI的黎明 – Diffusion模型是什么&#xff1f; 近年来&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;领域取得了爆炸性的进展&#xff0c;模型能够根据简单的文本提示创作出逼真的图像、连贯的文本&#xff0c;乃至更多令人惊叹的…...