蓝桥杯2024年第十五届省赛真题-小球反弹

devtools/2024/11/13 9:41:11/

在这里插入图片描述
以下两个解法感觉都靠谱,并且网上的题解每个人答案都不一样,目前无法判断哪个是正确答案。

方法一:模拟
代码参考博客

#include <iostream>
#include <cmath>
#include <vector>using namespace std;int main() {const int maxX = 343720;const int maxY = 233333;const int vx = 15;const int vy = 17;int x = 0, y = 0;int time = 0;double totalDistance = 0;bool xPositive = true, yPositive = true;while (true) {//根据方向判断是+距离还是-距离x += xPositive ? vx : -vx;y += yPositive ? vy : -vy;time++;//移动的距离double segmentLength = sqrt(vx * vx+ vy * vy);// 检查是否碰到边界并反弹if (x > maxX || x < 0) {xPositive = !xPositive; // 反转X方向x = (x > maxX) ? maxX : 0; // 将坐标调整到边界上}if (y > maxY || y < 0) {yPositive = !yPositive; // 反转Y方向y = (y > maxY) ? maxY : 0; // 将坐标调整到边界上}// 累加路径长度totalDistance += segmentLength;// 假设当粒子回到原点时停止模拟if (x == 0 && y == 0) {break;}}// 输出总路径长度cout << "总路径为:" << totalDistance << endl;return 0;
}

答案:14261800000

方法二:数学物理题
把速度分解成x方向和y方向,已知x方向来回一趟的时间是2343720/15,y方向来回一趟的时间是2233333/17,已知小球要回到原点,即x和y方向要同时回到原点,时间就是2343720/15和2233333/17的整数倍,即最小公倍数。就能把时间t求出来,然后乘以速度sqrt(15^2+17^2)就是总路程。

#include <bits/stdc++.h>
using namespace std;
int main() {int a = 2*343720/15;int b = 2*233333/17;int i = 1;while(i*a%b!=0){i++;}double t = i*a;double s = t*sqrt(pow(15, 2)+pow(17, 2));cout<<fixed<<setprecision(2)<<s<<endl;return 0;
}

输出:28520969829.65

复习:最大公因数GCA(Greatest Common Divisor)和最小公倍数LCM(Least Common Multiple)

int my_gcd(int a,int b){if(a%b==0)return b;else return my_gcd(b, a%b);
}int my_lcm(int a,int b){int i=1;while(i*a%b!=0)i++;return i*a;
}

http://www.ppmy.cn/devtools/12581.html

相关文章

StartAI智能绘图软件出现“缺少Python运行库”怎么办?

StartAI做为一款国产AI界的新秀&#xff0c;是一款贴合AIGC新手的智能绘图软件。新手安装遇见“缺少Python运行库”怎么办”&#xff1f;小编一招搞定~ 解决方法&#xff1a;手动下载【resource文件】&#xff0c;将文件添加到安装目录下。 点击链接进行手动下载噢~ 确保 Star…

数据结构--排序

排序&#xff1a;就是重新排列表中的数据 排序算法&#xff1a;分两种 内部排序和外部排序 内部排序&#xff1a;排序期间元素全部存放在内存中的排序&#xff0c; 外部排序&#xff1a;排序期间元素无法同时存放在内存中&#xff0c;必须在排序的过程中根据要求不断地在内、…

RabbitMQ在Java中的完美实现:从入门到精通

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 一、RabbitMQ简介 RabbitMQ是一个开源的AMQP实现&#xff0c;服务器端用Erlang语言编写&#xff0c;支持多种客户端&#xff0c;如&#xff1a;Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等…

深度学习中的熵、交叉熵、相对熵(KL散度)、极大释然估计之间的联系与区别

熵的最初来源于热力学。在热力学中&#xff0c;熵代表了系统的无序程度或混乱程度&#xff0c;也可以理解为系统的热力学状态的一种度量。后来被广泛引用于各个领域中&#xff0c;如信息学、统计学、AI等&#xff0c;甚至社会学当中。接下来将大家领略一下深度学习中熵的应用。…

G2024-04-24 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-24统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5TypeScript项目3PowerShell项目1C++项目1非开发语言项目1LLaMA模型的C/C++移植 创建周期:306 天开发语言:C, C++协议类型:MIT Li…

OpenCV 如何实现边缘检测器

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV如何实现拉普拉斯算子的离散模拟 下一篇 :OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数…

可商用的HuoCMS建站系统,基于thinkphp内核且免费开源

HuoCMS是一套内容管理系统&#xff0c;同时也是一套适用于企业官网建设的系统&#xff0c;能够帮助用户快速搭建个人网站。满足企业站、外贸站、个人博客等多种建站需求。HuoCMS的优势在于可以通过统一后台管理多个网站的内容&#xff0c;方便维护和共享不同内容在不同网站上的…

Visual Studio2022创建水晶报表项目

1.先下载Visual Studio 2022 &#xff0c;我选的是Community2022版本。 官网&#xff1a;Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 (microsoft.com) 2.下载完成并安装后&#xff08;安装直接执行exe文件就ok&#xff09;&#xff0c;会出现一个界面。点击…