蓝桥杯(握手问题)

小蓝组织了一场算法交流会议,总共有 50 人参加了本次会议。在会议上,大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手 (且仅有一次)。

但有 7个人,这 7 人彼此之间没有进行握手 (但这 7 人与除这 7 人以外的所有人进行了握手)。请问这些人之间一共进行了多少次握手?
注意 A 和 B 握手的同时也意味着 B 和 A 握手了,所以算作是一次握手。

拿到题,我们开始分析题目

开始分析:总共有 50 个人,每个人都要和除了自己以外的其他人握手,但是呢就是有7个劳弟互相不想握手,让我们算最后握了多少次手

思路一:我们先算50个人总共握了多少次手,然后减去7个人握手的次数,即就是答案

我们怎么算呢?话不多说上图!!

在这里插入图片描述
从图片中,我们可以看出来,总共50个人,第一个人和除了他自身之外的别人握手,总共握了49次(蓝色),第二个人握了48次(黄色)一直到最后一个人,最后一个人就不用主动去握手了,因为别人已经全和他握过手了。

那代码该怎么写呢?最简单的直接循环走起

在这里插入图片描述
这样我们就算出了50个人的握手总数,用相同的办法,我们可以算出7个人的握手总数,然后作差,就得到了我们最终的答案

在这里插入图片描述
完美结束,当然,有没有办法优化一下代码呢?

当然!!!还记得高中学过的等差数列求和吗?

Sn=(a1+an)n/2

利用这个公式,我们也可以得出结果,还省事了
在这里插入图片描述
OK,妥了,答案也是没错的

思路二:我们可以先不管这7个人,先算其他43个人的总握手次数,然后让剩下的7个人分别和这43个人握手就可以了

在这里插入图片描述
代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{int total=0;//50个人握手的总数int s=0;//7个人握手的总数 for(int i=49;i>=1;i--){total+=i; }cout<<total<<'\n';for(int i=6;i>=1;i--){s+=i;}cout<<s<<'\n';cout<<total-s<<'\n';return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main()
{cout<<(1+49)*49/2-(1+6)*6/2<<'\n';return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main()
{int sum=(1+42)*42/2;sum+=(43)*7;cout<<sum;return 0;
}

答案:1204
完结撒花!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26894.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek开源周 Day04:从DualPipe聊聊大模型分布式训练的并行策略

DualPipe简介 今天是DeepSeek开源周的第四天&#xff0c;官方开源了一种新型并行计算优化策略——DualPipe。 其实大家阅读过Deepseek-V3技术报告的同学&#xff0c;对这个技术并不陌生。 开源地址&#xff1a;https://github.com/deepseek-ai/DualPipe 核心亮点 DualPipe&…

无人系统:未来科技的智能化代表

无人系统&#xff08;Unmanned Systems&#xff09;是指在不依赖人类直接干预的情况下&#xff0c;通过自主或远程控制方式完成任务的系统。随着科技的不断进步&#xff0c;特别是在人工智能、机器人学、传感技术、通信技术等领域的突破&#xff0c;无人系统在各行各业中得到了…

【Maven】入门介绍 与 安装、配置

文章目录 一、Maven简介1. Maven介绍2. Maven软件工作原理模型图 二、Maven安装和配置1. Maven安装2. Maven环境配置3. Maven功能配置4. IDEA配置本地Maven软件 一、Maven简介 1. Maven介绍 https://maven.apache.org/what-is-maven.html Maven 是一款为 Java 项目管理构建、…

神经网络在电力电子与电机控制中的应用

神经网络&#xff08;Neural Networks&#xff09;简介 神经网络是一种受生物神经元启发的机器学习模型&#xff0c;能够通过大量数据学习输入与输出之间的非线性映射关系。其核心结构包括&#xff1a; 输入层&#xff1a;接收外部数据&#xff08;如传感器信号、控制指令&…

软件测试中的BUG

文章目录 软件测试的生命周期BugBug 的概念描述 Bug 的要素案例Bug 级别Bug 的生命周期与开发产生争执怎么办&#xff1f;【高频面试题】先检查自身&#xff0c;Bug 是否描述的不清楚站在用户角度考虑并抛出问题Bug 的定级要有理有据提⾼自身技术和业务水平&#xff0c;做到不仅…

测试的BUG分析

在了解BUG之前,我们要先了解软件测试的生命周期,因为大多数BUG都是在软件测试的过程中被发现的 软件测试的生命周期 在了解 软件测试的生命周期 之前,我们要先了解 软件的生命周期 ,虽然他们之间只差了两个字,但是差距还是很大的 首先是 软件生命周期 ,这个是站在 软件 的角…

leetcode第216题组合总和Ⅲ

原题出于leetcode第216题https://leetcode.cn/problems/combination-sum-iii/description/题目为&#xff1a; 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表…

特辣的海藻!7

特邀嘉宾&#xff1a;滑动窗口~ 题 209. 长度最小的子数组 - 力扣&#xff08;LeetCode&#xff09; 做过的题&#xff0c;再一次做&#xff0c;还是有问题。。。。我把它给解决掉&#xff01; 超时 超时 超时 超时 超时 超时 超时 超时 超时 超时 超时 超时 超时 超时 超时 …

leetcode 59. 螺旋矩阵 II 中等

给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]]示例 2&#xff1a; 输入&#xff1a;n 1 输出&am…

最新版本SpringAI接入DeepSeek大模型,并集成Mybatis

当时集成这个环境依赖冲突&#xff0c;搞了好久&#xff0c;分享一下依赖配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instan…

linux下java Files.copy 提示文件名过长

linux下java Files.copy 提示文件名过长问题排查 系统运行时执行文件拷贝的功能的时候出现了 文件名称过长的报错提示 查询过资料后整理出了每个操作系统支持最大的文件名称长度 每个操作系统现在的文件长度不一样 Linux的 /usr/include/linux/limits.h 中做出了说明 这些限制…

Linux篇——工具

在有了前面的基础知识后&#xff0c;我们现在基本能够使用Linux的相关基本操作了&#xff0c;但我们知道&#xff0c;没有工具我们是无法便捷地实现某些功能的&#xff0c;因此我们这篇内容来谈谈Linux中的工具。 一、软件包管理器yum 我们知道&#xff0c;我们要想获得一个软…

水管路消声器

水管路中存在三个频线的噪声&#xff0c;本消声器针对低频段三个频率设计了水管路消声器&#xff0c;采用三个谐振腔进行吸收。&#xff08;亥姆霍兹消声原理&#xff09; 一、搭建模型 二、设置材料 三、设置端口及热粘性声学 四、计算结果 网格划分示意图 传递损失曲线

Odoo免费开源CRM技术实战:从商机线索关联转化为售后工单的应用

文 / 开源智造 Odoo金牌服务 Odoo&#xff1a;功能强大且免费开源的CRM Odoo 引入了一种高效的客户支持管理方式&#xff0c;即将 CRM 线索转换为服务台工单。此功能确保销售和支持团队能够无缝协作&#xff0c;从而提升客户满意度并缩短问题解决时间。通过整合 CRM 模块与服…

计算机毕业设计SpringBoot+Vue.js英语知识应用网站(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

利用STM32TIM自制延迟函数实验

一、实验目的 掌握STM32定时器&#xff08;TIM&#xff09;的工作原理及配置方法学习使用HAL库实现微秒级/毫秒级延时函数理解定时器中断服务程序的编写规范 二、实验原理 ​定时器基础&#xff1a; STM32定时器包含向上计数器、向下计数器、中心对齐模式通过预分频器&#x…

配置后端验证功能之validation

哈喽&#xff0c;好久不见。最近项目内网开发导致断更了好久。今天介绍一个简单且有意思的开发技巧吧。之前用过validation后端验证功能但没进一步了解&#xff0c;都只是简单用一下。假如开发中要求传参必须按照规则 不能毫无底线什么都能传&#xff0c;本篇介绍的就是针对此功…

树的直径解释

定义 树上任意两点之间的最长简单路径即为「树的直径」。 性质 树的直径不一定唯一。 举个例子&#xff0c;比如说有这么一棵树&#xff1a; 假设这张图中每一条边边权均为 1 1 1&#xff0c;那么手动推算一下&#xff0c;发现直径有&#xff1a;2 -> 1 -> 4 -> 5…

基于51单片机的智能温控器设计与实现

一、前言 基于51单片机的智能温控器&#xff0c;使用DS18B20温度传感器来测量温度&#xff0c;并通过驱动风扇降温&#xff0c;同时使用LCD1602显示屏显示当前温度和设定温度。 二、51单片机代码 #include <reg52.h> //显示 #include <lcd.h>#define uchar unsi…

不要升级,Flutter Debug 在 iOS 18.4 beta 无法运行,提示 mprotect failed: Permission denied

近期如果有开发者的 iOS 真机升级到 18.4 beta&#xff0c;大概率会发现在 debug 运行时会有 Permission denied 的相关错误提示&#xff0c;其实从 log 可以很直观看出来&#xff0c;就是 Dart VM 在初始化时&#xff0c;对内核文件「解释运行&#xff08;JIT&#xff09;」时…