小球反弹(蓝桥杯)

ops/2024/10/25 16:29:25/

文章目录

  • 小球反弹
    • 【问题描述】
    • 答案:1100325199.77
    • 解题思路
    • 模拟

小球反弹

【问题描述】

有一长方形,长为 343720 单位长度,宽为 233333 单位长度。在其内部左上角顶点有一小球(无视其体积),其初速度如图所示且保持运动速率不变,分解到长宽两个方向上的速率之比为 dx : dy = 15 : 17。小球碰到长方形的边框时会发生反弹,每次反弹的入射角与反射角相等,因此小球会改变方向且保持速率不变(如果小球刚好射向角落,则按入射方向原路返回)。从小球出发到其第一次回到左上角顶点这段时间里,小球运动的路程为多少单位长度?答案四舍五入保留两位小数。

在这里插入图片描述
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个小数,在提交答案时只填写这个小数,填写多余的内容将无法得分。

答案:1100325199.77

解题思路

这题有点像中学物理题,先将速度分解为x方向vx和y方向vy,小球在x方向出发又返回原点的距离为343720 * 2,小球在y方向出发又返回原点的距离为233333 * 2,因为小球在x方向和y方向的速率比恒定: v x v y = 15 17 \frac{vx }{vy}=\frac{15}{17} vyvx=1715,所以小球在相同时间内走过的路程也恒定: d x d y = 15 17 \frac{dx }{dy}=\frac{15}{17} dydx=1715,因此我们只需要找到下一个i倍的dx比上j倍的dy等于15比17( i ∗ d x j ∗ d y = 15 17 \frac{i*dx }{j*dy}=\frac{15}{17} jdyidx=1715 i ∗ 17 ∗ d x = j ∗ d y ∗ 15 i*17*dx=j*dy*15 i17dx=jdy15)就可以知道小球再一次返回到了原点

求出小球再一次返回原点的 i ∗ d x i*dx idx j ∗ d y j*dy jdy后,根据三角形的勾股定理即可求出总路程
在这里插入图片描述

模拟

#include<bits/stdc++.h> // 包含标准库,bits/stdc++.h是为了让编译器包含所有标准库的头文件,这在竞赛编程中很常见,但不推荐在生产代码中使用。
using namespace std; // 使用标准命名空间,允许我们直接使用cout、endl等,而不需要std::typedef long long ll; // 定义一个类型别名ll,代表long long,用于表示可能会非常大或非常小的整数。int main() // 主函数的开始
{ll c=343720*2; // 计算长方形长边的两倍长度,因为小球在长边反弹时,每次都会走过两倍的长度。ll k=233333*2; // 计算长方形宽边的两倍长度,原因同上。for(ll i=1; i<=10000; i++) // 第一层循环,从1遍历到10000,代表小球在长边上的反弹次数。{for(ll j=1; j<=10000; j++) // 第二层循环,从1遍历到10000,代表小球在宽边上的反弹次数。{if(i*17*c == j*15*k) // 检查当前的i和j是否满足水平路程与垂直路程的比例为15:17,并且是长和宽的偶数倍。{printf("%.2f", sqrt((i*c)*(i*c) + (j*k)*(j*k))); // 如果满足条件,计算小球走过的总路程,使用sqrt函数计算直角三角形的斜边长度,即总路程。保留两位小数。return 0; // 打印结果后,结束程序。}}}return 0; // 如果没有找到满足条件的i和j,也结束程序。在实际问题中,这意味着10000的上限不足以找到解决方案,可能需要增加上限或改变方法。
}

http://www.ppmy.cn/ops/8350.html

相关文章

03-JAVA设计模式-命令模式

命令模式 什么是命令模式 命令模式&#xff08;Command Pattern&#xff09;是一种行为设计模式&#xff0c;它将请求封装为对象&#xff0c;从而使你可用不同的请求把客户端与请求的处理者解耦,也称动作模式或事物模式。 在命令模式中&#xff0c;命令对象封装了接收者对象…

JS stacktrace 堆内存耗尽

javascript 堆内存耗尽 问题 是 npm run dev 的时候 报错 如下 <--- JS stacktrace --->FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory在大多数情况下&#xff0c;默认情况下 Node.js 的堆内存…

基于SSM+Jsp+Mysql的文物管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

2024.4.19作业

1.总结二进制信号量和计数型信号量的区别&#xff0c;以及他们的使用场景。 二进制信号量只有0和1两个状态&#xff0c;如果信号被一个线程接收&#xff0c;那别的线程就无法接收此信号 计数型信号可以累计&#xff0c;可以被多个线程接收 2.使用计数型信号量完成生产者和消费…

千锤百炼之算法Scanner和System.out引起超时解决办法

题外话 觉得这个内容还是很关键的,过来写一下吧 本次内容有点抽象大家试着听一下 正题 做过算法题的人都知道,无论是在力扣还是牛客或者别的网站刷题,很多情况下都会遇到输入输出的情况,当我们用Scanner和System.out.print()就有可能产生超时问题 如下图 接下来会有一段代…

vue-router学习2:路由导航方式

声明式导航 声明式导航方式在Vue Router中主要通过<router-link>组件来实现&#xff0c;它允许你直接在模板中创建导航链接&#xff0c;而无需编写额外的JavaScript代码。以下是一些常见的声明式导航方式及其示 1. 基本的导航链接 使用<router-link>组件&#x…

【Spring】Spring MVC入门

Spring MVC入门 一、什么是Spring Web MVC&#xff1f; 1.1 MVC定义 MVC是Model View Controller的缩写&#xff0c;是一种软件架构的设计模式&#xff0c;将软件系统分为模型、视图、控制器三个部分。 示意图如下: 可以看到&#xff0c;Controller作为一个“粘合剂”处于M…

政安晨:【深度学习神经网络基础】(八)—— 神经网络评估回归与模拟退火训练

目录 简述 评估回归 模拟退火训练 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 政安晨的机器学习笔记 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 简述 深度学习神经网…