为什么不能除以零?

全世界有3.14 % 的人已经关注了

数据与算法之美


如果你问苹果手机上的Siri,“零除以零等于多少”,它会显示:


640?wx_fmt=jpeg


但是,英文版的Siri还会用语音说这一段话:


“假如你有0块饼干,要分给0个朋友,每个人能分到几块?你看,这个问题没有任何意义吧?甜饼怪会难过,因为没有饼干吃,而你也会难过,因为你一个朋友都没有。”


(中文版也会,但言辞就没那么伤人了……)


640?wx_fmt=png


抛开这个伤人的回答不论(有朋友谁特么会跟你聊天啊喂!),除以零确实是个困扰很多人的问题。


十除以二等于五,六除以三等于二,一除以零是多少?小学数学就会告诉你,答案是不能除。但是为什么?零也是个数字,它到底哪里特殊了?


 小学篇 


小学算术里,这个问题很简单。那时我们把除法定义成“把一个东西分成几份”,分成一二三四五六七份都很容易想象,但是你要怎么把10个饼干分给0个人呢?想象不出来嘛!所以不能除。


敏锐的同学可能会想到,要是0个饼干分给0个人的话,本来无一物,好像就没关系了。但既然无物也无人,每个人分得多少都是可能的呀,根本无法给出一个单一确定的数值。


这结论没错,但这都是凭直觉而得到的东西。你想象不出来,不一定意味着它没有。远古时代的数学是建立在直觉上的,买菜是够用了,但要进一步发展,就必须要有定义和证明——所以,我们上了中学。


 初中篇 


现在我们开始接触最最基本的代数学——也就是解方程。我们发现,除法和乘法互为逆运算,所以问

1 / 0 = ?

就等于是解方程

0 * x = 1


好了,按照定义,0乘以任何数都是0,不可能等于1,所以满足x的数字不存在,所以不能除。


同样,如果问

0 / 0 = ?

就等于是解方程

0 * x = 0


同理,任何数字都可以满足x,所以也不能除——无法确定一个单一的答案。


 高中篇 


等到接触了基本的形式逻辑,我们又会发现另一种证明方式:反证法。


一堆真的表述,不能推出一个假的表述,所以如果我们用“能够正常地除以零”加上别的一堆真表述,最后推出假的来,那只能说明“除以零”这件事情不成立了。


所以,已知

0 * 1 = 0  

0 * 2 = 0  

推出

 0 * 1 = 0 * 2


两边同时除以零,得到

 ( 0 / 0 ) * 1 = ( 0 / 0 ) * 2


化简得到 1 = 2。这显然是错的啦。


那么,问题解决了吧!其实还没有。想想另一个问题:-1的平方根是多少?


你可能会说,-1不能开平方根,因为所有数的平方都是非负的。但是这说的是实数,我要是增加一个定义呢?定义i^2=-1,这就创造出了虚数,于是-1也能开平方根了。


那么,为何不能定义一个“新”的数,让 1 / 0 也等于它,并为这个数设立一套运算法则呢?这就得去大学里回答了。


 大一篇 


刚学微积分课程就会立刻接触到∞这个符号。咦,这不就是“无限”嘛。我们都学了极限的概念了,那么我令b趋向于0,然后把a/b的极限定义为无穷,不行吗?


这就立刻遇到一个问题,它的左极限和右极限不一样啊。b是从负的那头靠近0,还是正的那头?这一个是越来越负,一个是越来越正,碰不到一起去。这样的极限是没法定义的。


因此,微积分课程里会反复说,虽然用到了∞这个符号,但是这只是代表一个趋势,绝对不是一个真正的数,不可参与运算。


 大二篇 


那么吸取教训,我不用现成符号了,我直接定义  1 / 0  = w,w是个“无限大”的数,不碰什么极限,你总没话说了吧!


然而,定义不是说来就来的,你虽然可以随便定义东西,但定义完了如果和现有的其他系统矛盾,那就不能用,或者很不好用。


而我们面对w立刻就遇到了问题。首先,w要怎么放入基本的加减乘除体系里?1 + w等于多少?w - w等于多少?如果你造了一个数,却连加减乘除都不能做,那就不是很有用对吧。


比如直觉上,1 + w 应该等于 w,它都无限了嘛! 而 w - w 则等于0,自己减自己嘛!


但这样立刻会和加法里极其重要的“结合律”产生矛盾: 1 + ( w - w ) = 1 + 0 = 1,可是( 1 + w ) - w = w - w = 0。结合律是加法里非常基本的东西,为了一个w,连结合律都不要了,这成本有点大——不光是结合律本身,多少数学定理证明过程中不自觉都用了它,扔了它就都得重来,建立新体系。新体系不是不能建,但是费心费力又(暂时)无卵用,所以大家还是在老实用旧的——而旧的里面,为了保住结合律,就不能这么玩。


欢迎读者们发挥自己的想象力,尝试为 w 给出运算方式。但是你会发现,无论怎么规定w和别的数字之间的关系,只要你还坚持 1 / 0 = w,你就没法让它和你从小学习的基本数学不矛盾。还是那句话,你可以另立门户,在w的基础上建立起你的新数学,但它和大部分传统数学是不相容的,而且肯定会非常不好用,所以我们用了一个不能除以零的体系是非常合理的。


 大三篇 


你可能会提出反对:有那么多的定义方式,我都试过?要是没试过,我怎么知道不会某一天冒出来一个能够自洽的办法?


“新发现推翻旧结论”这种事情,在生物里可以有,化学里可以有,物理里可以有,唯独数学里没有。因为数学建立在逻辑上,个案有例外,逻辑没有例外。当然我们的数学还没有完成最终公理化,还要面对哥德尔的幽灵,但至少在这个例子里,如果w是一个真正的数,那它就违反了一些非常重要的公理,而这些公理的地位可是非常之深。解析直觉,推荐阅读《数学思考法》


比如有一组基本的公理叫“皮亚诺公理”,其中有一条说,每一个确定的自然数都有一个确定的后继,后继也是自然数;另一条说,自然数 b=c,当且仅当 b 的后继 =c 的后继。


那w是谁的后继呢——或者说,谁加上1能得到 w 呢?显然所有其他的数字都已经有了自己的后继,w 在其中没有位置,没有任何其他的数加上1能成为 w。那么就只能是1+w=w了,可那就直接和第二句话矛盾。而没有皮亚诺公理,整个自然数的体系都不能成立。


这里假定w是自然数。其他情况会略微复杂一些,但无论如何,类似的事情发生在w的各种定义里。如果你想把 w 当成一个数,那就没法和我们现有的实数兼容。所以我们在几乎所有场合下都只能宣布,不能除以 0。


 大四以上篇 


既然我们之前说了个“几乎”,那就是有例外的——在个别奇葩场合下,可以。


比如有一个东西叫做“复无穷”,它是扩充复平面上的一个点,真的是有定义的一个点。在这个特殊的规则下你可以写下 1 / 0 = ∞ 这样一个表达式。这么做的原因就说来话长了,但它不是平常意义上的运算——比如你不能把0拿回来,不能写 1 = 0 * ∞。


另外,“无穷”二字在一些别的场合下是可以当成一个“东西”去对待的。比如当你衡量一个集合的大小的时候,它可以是无穷大的。但这就有很多种不同的无穷大了——自然数是无穷多的,有理数是无穷多的,实数也是无穷多的,可是奇数和偶数和正整数和负整数和自然数和有理数都一样多,而实数却比它们都多!同样是无穷,有的无穷比别的无穷更无穷。但这就是另一个话题了,打住。学会像数学家一样思考,推荐阅读《数学思维导论》。


 总结篇 


所以,当我们说不能除以零的时候,理由……竟然出乎意料地充足。有许多直觉在数学里被推翻了,但是这一条没有。我们有种种数学上的方式去证明它无法成立的原因,虽然也许听起来不如Siri的回答那么心暖(或者心寒),但这些理性的愉悦也是一种美丽,对吧?


640?wx_fmt=png精品课程推荐:

640?wx_fmt=png

640?wx_fmt=png

选购数学科普正版读物

严选“数学思维好物”

送给孩子的益智礼物   |   办公室神器

算法工程师成长阅读   |   居家高科技

理工科男女实用型礼物精选   

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=png

640?wx_fmt=jpeg


数据与算法之美

用数据解决不可能


640?wx_fmt=jpeg


长按扫码关注


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

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

相关文章

设计模式之Builder

2019独角兽企业重金招聘Python工程师标准>>> Builder模式定义: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们…

linux kvm系统,linux kvm虚拟机安装以及主机配置支持有哪些?如何远程控制linux kvm系统?...

服务器安装kvm的时候,如果没有安装桌面(一般不会安装,节省资源),就需要使用命令去创建虚拟机。要支持 KVM,Intel CPU需要 vmx 或者 AMD CPU 需要svm 扩展。在linux系统上使用kvm虚拟化系统需要对主机开启虚拟化,并做一些基础设置,…

C# 答群友:把窗体应用改成类库输出然后去引用

类库你就新建类库文件直接生成dll去引用好了,但是群友非要骚操作,新建一个windows窗体把他搞成dll去引用,当时我回答了这个问题是可以的,但是实际上我没有这么干过,今天恰好有空,体验了一把,的确…

麻省理工告诉我们男女配对的真相!

全世界有3.14 % 的人已经关注了数据与算法之美该实验出自麻省理工学院著名经济学家Dan Ariely的《The Upside of Irrationality》。其结果很有趣,也在我们的生活中尤为常见。Part 1.实验人员找来100位正值青春年华的大学生。男女各半。然后制作了100张卡片&#xff…

查看linux的计划任务日志,查看计划任务日志(共5篇).docx

查看计划任务日志(共5篇)沈阳工程学院  学生实验报告  实验室名称:信息学院网络安全实验室  实验课程名称:网络安全技术  实验项目名称:实验六日志查看与清除实验  班级:姓名:学号:  实验日期&…

ios启动画面

iOS设备现在有三种不同的分辨率:iPhone 320x480、iPhone 4 640x960、iPad 768x1024。以前程序的启动画面(图片)只要准备一个 Default.png 就可以了,但是现在变得复杂多了。下面就是 CocoaChina 会员做得总结 如果一个程序,既支持iPhone又支持…

快速排序的性能和名字一样优秀

前言上次分享的冒泡排序虽然比较简单、容易理解,但每一次冒泡的过程都需要依次比较相邻的元素,然后交换,可见性能还是有很大的优化空间,只要能减少比较次数,性能自然就上去啦;快速排序便是一个很不错的选择…

资料分享 | 教程与开发手册资料分享来袭

小编从大学开始,便开启资料收集功能。随着科技时代的不断发展,计算机语言发展进入新的阶段,再加上日常的深入研究,小编收集整理了丰富的计算机语言学习资料,内容涵盖“教程与开发手册”,“js资料”、“PHP编…

Linux下ms软件,在linux下有没有什么软件可以连接windows上的MSSQL SERVER

在linux下有没有什么软件可以连接windows上的MSSQL SERVERGUI的http://dbeaver.jkiss.org/http://bbs.csdn.net/topics/391014331https://github.com/serge-rider/dbeaverhttps://github.com/serge-rider?tabrepositories在Linux(UNIX)下连接MS SQLserver的方法http://blog.cs…

你可能会用到的 Mock 小技巧

你可能会用到的 Mock 小技巧Intro最近看到阿迪分享了两篇 Mock 相关的文章,于是想把自己遇到的一些可能对你有帮助的一些小技巧分享一下,大概总结了一下,且看下文AsyncEnumerable在 C# 8 中引入了异步流,AsyncEnumerable&#xff…

Mangos源码分析(2):服务器结构探讨之登录服的负载均衡

回想一下我们在玩wow时的操作流程:运行wow.exe进入游戏后,首先就会要求我们输入用户名和密码进行验证,验证成功后才会出来游戏世界列表,之后是排队进入游戏世界,开始游戏...  可以看到跟前面的描述有个很明显的不同&…

备受期待的Python深度学习来了

在这个酣畅淋漓的暑假结束后,深度学习的四大名著之一漂洋过海来见中国的程序员们啦,豆瓣评分9.5分的《Deep Learning with Python》,推出中译版——《Python深度学习》Deep Learning with PythonPython深度学习扫码购买优惠近30元&#xff01…

安装linux6.10 I386系统教程,一看就懂的Centos6.10安装教程

第一步将虚拟机安装完毕后,运行虚拟机进行到这个界面下(虚拟机安装及其配置,详见论坛内的博客分享在这就不在陈述),:出现的是5条英文由上到下以此分别为:1.安装或升级2.基本的显卡驱动来安装系统(在有些操作系统无法识…

批量修改远程linux服务器密码

一、建立信任关系 192.168.9.203 为管理机 192.168.9.201 192.168.9.202 为远程linux服务器 1、在管理机生成证书、 [rootmanage ~]# ssh-keygen -t rsa复制代码Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter pas…

计算机是怎么知道两张图片相似的呢?

全世界有3.14 % 的人已经关注了数据与算法之美很多搜索引擎可以用一张图片,搜索互联网上所有与它相似的图片。你输入网片的网址,或者直接上传图片,Google就会找出与其相似的图片。下面这张图片是美国女演员Alyson Hannigan。上传后&#xff0…

WPF实现下拉框带图文和水印

WPF开发者QQ群&#xff1a; 340500857 有小伙伴需要实现ComboBox下拉框带水印&#xff0c;并且选择Item内容后水印默认从中间到顶部。Item需要展示图文&#xff0c;选择后的数据展示图文。欢迎转发、分享、点赞&#xff0c;谢谢大家~。效果如下&#xff1a;一、Xaml代码如下<…

linux 7.0查看防火墙状态,centos7查看防火墙状态

查看防火墙状态[rootVM_0_3_centos /]# firewall-cmd --statenot running[rootVM_0_3_centos /]# sudo systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor …

Google第一女神李飞飞,从洗碗工蜕变成为首席科学家

全世界有3.14 % 的人已经关注了数据与算法之美最近这几天&#xff0c;5岁孩子简历事件刷爆了朋友圈。批阅完朋友圈的文章&#xff0c;超模君心好累。别人家的孩子5岁已经每周3篇英语日记&#xff0c;而5岁我却还在玩泥巴&#xff0c;终于明白什么叫输在起跑线上了。即便输在了起…

如何注册java程序为windows服务

最近想找个软件来控制电脑的关机时间&#xff0c;在网上找了几个&#xff0c;都是可视化界面的可以设置具体的关机时间的软件。由于我想编写的关机程序是运行在别人机器上&#xff0c;只能让该机器在晚上17 点到23 点25 分才上网&#xff0c;到了23 点25 分就可以自动关机。为了…

通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权...

Oauth2授权&#xff0c;熟悉微信开发的同学对这个东西应该不陌生吧。当我们的应用系统需要集成第三方授权时一般都会做oauth集成&#xff0c;今天就来看看在Dapr的语境下我们如何仅通过配置无需修改应用程序的方式让第三方服务保护我们的API应用。目录&#xff1a;一、通过Dapr…