蓝桥杯(握手问题)

server/2025/3/1 14:25:52/

小蓝组织了一场算法交流会议,总共有 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.ppmy.cn/server/171565.html

相关文章

苹果iPhone 17 Pro系列将配备12GB内存,AI功能成升级关键

在科技飞速发展的当下,智能手机市场的竞争愈发激烈,各大品牌都在不断推陈出新,力求在技术与用户体验上实现突破。其中,苹果公司的iPhone系列一直备受全球消费者的关注与期待。近期,有关iPhone 17 Pro系列的爆料引发了广泛热议,其中最为引人注目的便是其将配备12GB内存,这…

FFmpeg入门:最简单的视频播放器

FFmpeg入门&#xff1a;最简单的视频播放器 FFmpeg入门第一篇&#xff0c;制作一个简单的MP4视频播放器。 整体流程 话不多说&#xff0c;直接上流程图 视频播放速率控制 这里可以直接看图中的帧率同步模块&#xff0c;可以分为如下几步 获取到当前帧的预期播放时间&…

【无人集群系列---无人机集群编队算法】

【无人集群系列---无人机集群编队算法】 一、核心目标二、主流编队控制方法1. 领航-跟随法&#xff08;Leader-Follower&#xff09;2. 虚拟结构法&#xff08;Virtual Structure&#xff09;3. 行为法&#xff08;Behavior-Based&#xff09;4. 人工势场法&#xff08;Artific…

代理服务器与内网穿透/打洞

内网穿透 简单来说内网穿透就是让一个在私人IP的设备&#xff0c;能在公网上被别的主机访问到资源。 中间经过服务器将获取的数据转发给主机。 内网打洞 内网打洞&#xff0c;也叫 P2P 穿透或 NAT 穿越&#xff0c;是一种用于实现位于不同内网中的设备之间直接建立连接的技…

DeepSeek【部署 02】Linux本地化部署及SpringBoot2.X集成Ollama

安装资源分享&#xff1a; 百度网盘链接: https://pan.baidu.com/s/17qK0Nx73bFOsicLgLmA8-A?pwdtc61 提取码: tc61 包含文件&#xff1a; Windows OllamaStep.exe&#xff08;版本 0.5.7&#xff09;Linux ollama-linux-amd64-039.tgz&#xff08;版本 0.3.9&#xff09;Lin…

广州4399游戏25届春招游戏策划管培生内推

【热招岗位】 游戏策划管培生、产品培训生、游戏文案策划、游戏数值策划、游戏系统策划、游戏产品运营、游戏战斗策划、游戏关卡策划 【其他岗位】产品类&#xff08;产品培训生、产品运营等&#xff09;、技术类&#xff08;开发、测试、算法、运维等&#xff09;、运营市场类…

HAProxy的ACL

访问控制列表&#xff08;ACL&#xff0c;Access Control Lists&#xff09;是一种基于包过滤的访问控制技术&#xff0c;它可以根据设定的条件对经过服务器传输的数据包进行过滤(条件匹配)&#xff0c;即对接收到的报文进行匹配和过滤&#xff0c;基于请求报文头部中的源地址、…

01文件IO

一、linux_C函数接口手册 在线手册 Linux 常用C函数(中文版) linux一切皆文件 在linux系统下一切都是以文件的形式存储在系统中的&#xff0c;通过linux系统提供的IO(input/output)接口开发板就可以往linux系统中 输入一些信息和获取一些信息。 linux系统的文件分类: - …