【2024蓝桥杯/C++/B组/小球反弹】

题目

分析

Sx = 2 * k1 * x;

Sy = 2 * k2 * y; (其中k1, k2为整数)

Vx * t = Sx;

Vy * t = Sy;

k1 / k2 = (15 * y) / (17 * x);

目标1:根据k1与k2的关系,找出一组最小整数组(k1, k2)(为什么最小?因为题目求第一次返回!这实际上是一个循环过程!)

目标2:求出Sx,Sy,再根据勾股定理求S

代码

cpp 复制代码
#include<bits/stdc++.h> // 引入所有的标准库头文件
using namespace std; // 使用标准命名空间 std 中的标识符

// 定义常量 x 和 y 的值
const int x = 343720;
const int y = 233333;

int main()
{
    // 计算 k1 和 k2 的值,k1 等于 15 乘以 y,k2 等于 17 乘以 x
    int k1 = 15*y, k2 = 17*x;
    
    // 计算 k1 和 k2 的最大公约数,并将其赋值给 gcd
    int gcd = __gcd(k1, k2);
    
    // 将 k1 和 k2 分别除以它们的最大公约数
    k1 /= gcd, k2 /= gcd;

    // 计算 sx 的值,sx 等于 2 乘以 k1 乘以 x
    double sx = 2*k1*x;
    
    // 计算 sy 的值,sy 等于 2 乘以 k2 乘以 y
    double sy = 2*k2*y;
    
    // 根据勾股定理计算 s 的值
    double s = sqrt(sx*sx + sy*sy);

    // 输出 s 的值,保留两位小数
    printf("%.2f", s);

    // 返回 0,表示程序正常结束
    return 0;
}
相关推荐
每日任务(希望进OD版)1 分钟前
线性DP、区间DP
开发语言·数据结构·c++·算法·动态规划
charlie1145141915 分钟前
嵌入式C++教程实战之Linux下的单片机编程(9):HAL时钟使能 —— 不开时钟,外设就是一坨睡死的硅
linux·开发语言·c++·单片机·嵌入式硬件·c
liu****8 分钟前
第十五届蓝桥杯大赛软件赛国赛C/C++大学B组
c++·算法·蓝桥杯·acm
zhooyu9 分钟前
利用叉乘判断OpenGL中的左右关系
c++·3d·opengl
光电笑映26 分钟前
C++11 新特性全解:语法糖、容器进化与可调用对象包装
开发语言·c++
SWAGGY..39 分钟前
【C++初阶】:(7)STL简介
开发语言·c++
6Hzlia1 小时前
【Hot 100 刷题计划】 LeetCode 279. 完全平方数 | C++ 动态规划 (完全背包)
c++·leetcode·动态规划
H Journey1 小时前
C++ 11 新特性 统一初始化与与 std::initializer_list
c++·列表初始化
木子墨5161 小时前
LeetCode 热题 100 精讲 | 动态规划进阶篇:最大子数组和 · 分割等和子集 · 最长公共子序列 · 打家劫舍 III
数据结构·c++·算法·leetcode·动态规划·力扣
li1670902701 小时前
第十章:list
c语言·开发语言·数据结构·c++·算法·list·visual studio