为什么不能一次走遍哥尼斯堡的7座桥

2023-12-29 03:30

本文主要是介绍为什么不能一次走遍哥尼斯堡的7座桥,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

全世界只有3.14 % 的人关注了

爆炸吧知识

数学的快乐

到底有多简单

今天,8岁表妹问了一个问题:

看到这种类似1+1=?的问题,超模君几乎不用思考就已经知道答案。

但为了体现让表妹系统的理解知识,所以我决定......

发生在哥尼斯堡的故事

18世纪的哥尼斯堡(如今是俄罗斯的加里宁格勒),是一座位于普累格河上的城市,河上有两个小岛,有七座桥把河中两个岛及岛与河岸连接起来。

(超模君随意临摹的作品)

还有其他灵魂画手的杰作:

由于当地的生活节奏慢,人们总是有很多时间来到桥上一边散步,一边讨论某些很学术的问题,比如说:

还有:

而最最最让他们苦恼的问题是:怎么样才可以一次走过七座桥,且每座桥只能经过一次而且起点与终点必须是同一地点。

当时,数学帝欧拉正在哥尼斯堡内担任教授。有几个大学生得知这个消息后,便连忙向他请教这个问题。

和大多数普通人的做法一样,欧拉一开始也只是在暴力求解

试过这样的:

(暴力求解1)

也试过这样的:

(暴力求解2)

为了能破解走法,甚至还想请市长弄多一座桥:

(暴力求解3)

但尝试了无数次走法之后,他惊呆了:做不出来

在接下来很长的一段时间里,包括欧拉在内的众多数学狂热者都对这个七桥问题束手无策。

对不起,此题无解

俗话说:男人三十是一道分水岭。而欧拉紧紧地把握住机会,提前一年就跳了过去。

1736年,29岁的欧拉便向圣彼得堡科学院递交了《哥尼斯堡的七座桥》的论文,里面的开头写道:小老弟们,一次走遍哥尼斯堡的7座桥的走法是不存在的。

随后,欧拉又补充道:“七桥问题其本质就是一个一笔画问题。”

一笔画问题?怎么理解呢?

首先我们对于实际问题进行一个转化:把两座岛和河两岸抽象成顶点,每一座桥抽象城连接顶点的一条边。

当我们在找能一次走遍7座桥的走法时,实际上是在问这个转化出来图形是否为一笔画?

那该如何判断图形是否为一笔画图形?

为此,欧拉抛出了两个新的名词:奇顶点、偶顶点。

奇顶点:如果一个顶点连接的边数是奇数,那么这样的顶点叫奇顶点。

偶顶点:如果一个顶点连接的边数是偶数,那么这样的顶点叫偶顶点。

他表示任何可一笔画成的图只能有两种情况:

1、要么全部顶点都是偶顶点,那么起点和终点都是同一个点;

2、要么顶点里只有2个奇顶点,一个是起点,另一个是终点。

我们会发现,在上图里的A、B、C、D四个点都是奇顶点。所以欧拉给出答案:此题无解,无法一次走完七座桥。

花里胡哨的一笔画

七桥问题解决了,接下来让我们回顾到表妹那道问题......

我们都知道一个一笔画图形,要么是0个奇顶点;要么就是2个奇顶点,就像这道题一样。

对于0个奇顶点的情况,其实我们的起点在哪里都是可以的,从哪里开始,就从哪里结束。

而对于有2个奇顶点的情况,我们就需要确定起点和终点,也就是要找出2个奇顶点。

(红色为奇顶点)

所以正确的解法是:

是不是突然觉得很简单?

事实上,一笔画在我们生活当中也是很常见。

什么?你不信,那超模君先给你来一个耳熟能详的图形:

(中国结)

虽然交叉点很多,但它实际上是一笔画图形。

甚至还有打破二维世界的一笔画,在综艺《最强大脑》里面就曾出现了相关的考题:立体一笔画

需要选手快速找出全场150个不规则立体图形中能从任意点一笔画成的图形,且不能和场上已有答案重复。

(最强大脑之立体一笔画)

这不仅仅要懂欧拉定理,连个人的观察力、空间力、计算粒、推理力、记忆力、创造力都有着很高的要求。

看完这些一笔画,超模君已经身心疲惫,不得不扶墙了。

什么,你还不服,那请你3秒内解决下面这道国考题吧~

本文系网易新闻·网易号“各有态度”特色内容

部分资料来源于网络

转载自公众号超级数学建模

这篇关于为什么不能一次走遍哥尼斯堡的7座桥的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/548196

相关文章

解决Office Word不能切换中文输入

我们在使用WORD的时可能会经常碰到WORD中无法输入中文的情况。因为,虽然我们安装了搜狗输入法,但是到我们在WORD中使用搜狗的输入法的切换中英文的按键的时候会发现根本没有效果,无法将输入法切换成中文的。下面我就介绍一下如何在WORD中把搜狗输入法切换到中文。

【经验交流】修复系统事件查看器启动不能时出现的4201错误

方法1,取得『%SystemRoot%\LogFiles』文件夹和『%SystemRoot%\System32\wbem』文件夹的权限(包括这两个文件夹的所有子文件夹的权限),简单点说,就是使你当前的帐户拥有这两个文件夹以及它们的子文件夹的绝对控制权限。这是最简单的方法,不少老外说,这样一弄,倒是解决了问题。不过对我的系统,没用; 方法2,以不带网络的安全模式启动,运行命令行,输入“ne

(function() {})();只执行一次

测试例子: var xx = (function() {     (function() { alert(9) })(); alert(10)     return "yyyy";  })(); 调用: alert(xx); 在调用的时候,你会发现只弹出"yyyy"信息,并不见弹出"10"的信息!这也就是说,这个匿名函数只在立即调用的时候执行一次,这时它已经赋予了给xx变量,也就是只是

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位 一、背景二、定位问题三、解决方法 一、背景 flume系列之:定位flume没有关闭某个时间点生成的tmp文件的原因,并制定解决方案在博主上面这篇文章的基础上,在机器内存、cpu资源、flume agent资源都足够的情况下,flume agent又出现了tmp文件无法关闭的情况 二、

jmeter之仅一次控制器

仅一次控制器作用: 不管线程组设置多少次循环,它下面的组件都只会执行一次 Tips:很多情况下需要登录才能访问其他接口,比如:商品列表、添加商品到购物车、购物车列表等,在多场景下,登录只需要1次,我们期望的是重复执行登陆后面的接口来做压测,这就和事务相关,例如 事务1: 登录—>添加购物车 事务2: 登录—>购物车列表 事务3: 登录—>商品列表—>添加购物车 … 一、仅一次控制器案例 在

为什么构造函数不能为虚函数

1,从存储空间角度     虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。 2,从使用角度         虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调

一次生产环境大量CLOSE_WAIT导致服务无法访问的定位过程

1.症状 生产环境的一个服务突然无法访问,服务的交互过程如下所示: 所有的请求都是通过网关进入,之后分发到后端服务。 现在的情况是用户服务无法访问商旅服务,网关有大量java.net.SocketTimeoutException: Read timed out报错日志,商旅服务也不断有日志打印,大多是回调和定时任务日志,所以故障点在网关和商旅服务,大概率是商旅服务无法访问导致网关超时。 后

关于一次速度优化的往事

来自:hfghfghfg, 时间:2003-11-13 16:32, ID:2292221你最初的代码 Button1 34540毫秒 5638毫秒  Button2 我的代码 这个不是重点,重点是这个  来自:hfghfghfg, 时间:2003-11-13 16:54, ID:22923085528毫秒 不会吧,我是赛杨1.1G  128M内存  w2000, delphi6  128M

一次关于生产环境服务无故宕机的排查过程

故事的开始 这个故事是在一年之前,当时我们的系统运行在客户的k8s环境上。然后很神奇的是每个月底我们都会服务宕机,当然我们开启了多个实例。当时的容器线条就像心跳图一样(或许有些描述的不太准确,我没有找到当时那个像心电图一样的容器资源监控图)。 第一次的排查 当时我们还是很有信心去解决这个问题的。由于每个月的月底都是业务使用的高峰时段,也就是说,从表象上来看,qps一高,容器就挂。 业务日

mysql可重复读不能解决幻读吗?

1、可重复读和幻读的概念 1.1、可重复读        可重复读是数据库的四个隔离级别之一,可重复读可以保证在一个事物之内读取到的数据永远是相同的(通过mvcc表快照实现的),哪怕这期间有其它事务对数据做了修改,也不会影响当前事务的查询。 1.2、幻读       网上有不少博客说:幻读是一个事物内多次查询得到的数据结果不一样。比如说select (1)这种查询,如果有其它事务增加或删除