蓝桥杯:握手问题和小球反弹问题

简介: 蓝桥杯:握手问题和小球反弹问题

试题 A: 握手问题

本题总分: 5

【问题描述】

小蓝组织了一场算法交流会议,总共有 50 人参加了本次会议。在会议上, 大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手(且仅有一次)。但有 7 个人,这 7 人彼此之间没有进行握手(但这 7 人与除这 7 人以外的所有人进行了握手)。请问这些人之间一共进行了多 少次握手?注意 A B 握手的同时也意味着 B A 握手了,所以算作是一次握手。

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分

#include <iostream>  
using namespace std;
int main() {
    int a = 50;
    int b = 7;
    int a1 = (a * (a- 1)) / 2;
    int b1= (b * (b - 1)) / 2;
    int c = a1 - b1;
    cout << c <<endl;
    return 0;
}

试题 B: 小球反弹

本题总分:5 分

【问题描述】

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

【答案提交】

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

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main() {
    double a = 343720;
    double b = 233333;
    double c = 15.0 / 17.0;
    double d = 17.0 / 15.0;
    double dx = sqrt(a * a/ (d * d + 1));
    double dy = dx * d;
    double e = 0;
    while (true) {
        e += dx;
        if (e >= a) {
            break;
        }
        e += dy;
        if (e >= b) {
            break;
        }
    }
    cout << fixed << setprecision(2) << e << endl;
    return 0;
}
目录
相关文章
|
4月前
|
容器
leetcode-407:接雨水 II
leetcode-407:接雨水 II
39 0
|
5月前
【每日一题Day327】LCP 50. 宝石补给 | 模拟
【每日一题Day327】LCP 50. 宝石补给 | 模拟
26 0
|
7月前
|
算法 测试技术 图计算
|
2月前
|
传感器 算法 Serverless
迷宫穿越
迷宫穿越
13 1
|
7月前
华为机试HJ38:求小球落地5次后所经历的路程和第5次反弹的高度
华为机试HJ38:求小球落地5次后所经历的路程和第5次反弹的高度
|
8月前
LCP 50. 宝石补给(每日一题)
LCP 50. 宝石补给(每日一题)
35 0
|
10月前
|
测试技术 Cloud Native
【刷题日记】780. 到达终点
本次刷题日记的第 28 篇,力扣题为:429. N 叉树的层序遍历 ,困难
|
11月前
|
测试技术
Leecode 42. 接雨水
Leecode 42. 接雨水
65 1
|
11月前
|
C++
用C++实现推箱子(小人和推着箱子能过地板版)
用C++实现推箱子(小人和推着箱子能过地板版)
一个球从100m高度自由落下,每次落地后反弹回原来高度的一半,在落下,在反弹,求它在第十次落地时共经历了多少米,第十次反弹多高。
一个球从100m高度自由落下,每次落地后反弹回原来高度的一半,在落下,在反弹,求它在第十次落地时共经历了多少米,第十次反弹多高。