为什么不能除以零?
全世界有3.14 %?的人已經(jīng)關(guān)注了
數(shù)據(jù)與算法之美
如果你問(wèn)蘋(píng)果手機(jī)上的Siri,“零除以零等于多少”,它會(huì)顯示:
但是,英文版的Siri還會(huì)用語(yǔ)音說(shuō)這一段話(huà):
“假如你有0塊餅干,要分給0個(gè)朋友,每個(gè)人能分到幾塊?你看,這個(gè)問(wèn)題沒(méi)有任何意義吧?甜餅怪會(huì)難過(guò),因?yàn)闆](méi)有餅干吃,而你也會(huì)難過(guò),因?yàn)槟阋粋€(gè)朋友都沒(méi)有?!?/span>
(中文版也會(huì),但言辭就沒(méi)那么傷人了……)
拋開(kāi)這個(gè)傷人的回答不論(有朋友誰(shuí)特么會(huì)跟你聊天啊喂!),除以零確實(shí)是個(gè)困擾很多人的問(wèn)題。
十除以二等于五,六除以三等于二,一除以零是多少?小學(xué)數(shù)學(xué)就會(huì)告訴你,答案是不能除。但是為什么?零也是個(gè)數(shù)字,它到底哪里特殊了?
?小學(xué)篇?
小學(xué)算術(shù)里,這個(gè)問(wèn)題很簡(jiǎn)單。那時(shí)我們把除法定義成“把一個(gè)東西分成幾份”,分成一二三四五六七份都很容易想象,但是你要怎么把10個(gè)餅干分給0個(gè)人呢?想象不出來(lái)嘛!所以不能除。
敏銳的同學(xué)可能會(huì)想到,要是0個(gè)餅干分給0個(gè)人的話(huà),本來(lái)無(wú)一物,好像就沒(méi)關(guān)系了。但既然無(wú)物也無(wú)人,每個(gè)人分得多少都是可能的呀,根本無(wú)法給出一個(gè)單一確定的數(shù)值。
這結(jié)論沒(méi)錯(cuò),但這都是憑直覺(jué)而得到的東西。你想象不出來(lái),不一定意味著它沒(méi)有。遠(yuǎn)古時(shí)代的數(shù)學(xué)是建立在直覺(jué)上的,買(mǎi)菜是夠用了,但要進(jìn)一步發(fā)展,就必須要有定義和證明——所以,我們上了中學(xué)。
?初中篇?
現(xiàn)在我們開(kāi)始接觸最最基本的代數(shù)學(xué)——也就是解方程。我們發(fā)現(xiàn),除法和乘法互為逆運(yùn)算,所以問(wèn)
1 / 0 = ?
就等于是解方程
0 * x = 1
好了,按照定義,0乘以任何數(shù)都是0,不可能等于1,所以滿(mǎn)足x的數(shù)字不存在,所以不能除。
同樣,如果問(wèn)
0 / 0 = ?
就等于是解方程
0 * x = 0
同理,任何數(shù)字都可以滿(mǎn)足x,所以也不能除——無(wú)法確定一個(gè)單一的答案。
?高中篇?
等到接觸了基本的形式邏輯,我們又會(huì)發(fā)現(xiàn)另一種證明方式:反證法。
一堆真的表述,不能推出一個(gè)假的表述,所以如果我們用“能夠正常地除以零”加上別的一堆真表述,最后推出假的來(lái),那只能說(shuō)明“除以零”這件事情不成立了。
所以,已知
0 * 1 = 0 ?
0 * 2 = 0 ?
推出
?0 * 1 = 0 * 2
兩邊同時(shí)除以零,得到
?( 0 / 0 ) * 1 = ( 0 / 0 ) * 2
化簡(jiǎn)得到 1 = 2。這顯然是錯(cuò)的啦。
那么,問(wèn)題解決了吧!其實(shí)還沒(méi)有。想想另一個(gè)問(wèn)題:-1的平方根是多少?
你可能會(huì)說(shuō),-1不能開(kāi)平方根,因?yàn)樗袛?shù)的平方都是非負(fù)的。但是這說(shuō)的是實(shí)數(shù),我要是增加一個(gè)定義呢?定義i^2=-1,這就創(chuàng)造出了虛數(shù),于是-1也能開(kāi)平方根了。
那么,為何不能定義一個(gè)“新”的數(shù),讓 1 / 0 也等于它,并為這個(gè)數(shù)設(shè)立一套運(yùn)算法則呢?這就得去大學(xué)里回答了。
?大一篇?
剛學(xué)微積分課程就會(huì)立刻接觸到∞這個(gè)符號(hào)。咦,這不就是“無(wú)限”嘛。我們都學(xué)了極限的概念了,那么我令b趨向于0,然后把a(bǔ)/b的極限定義為無(wú)窮,不行嗎?
這就立刻遇到一個(gè)問(wèn)題,它的左極限和右極限不一樣啊。b是從負(fù)的那頭靠近0,還是正的那頭?這一個(gè)是越來(lái)越負(fù),一個(gè)是越來(lái)越正,碰不到一起去。這樣的極限是沒(méi)法定義的。
因此,微積分課程里會(huì)反復(fù)說(shuō),雖然用到了∞這個(gè)符號(hào),但是這只是代表一個(gè)趨勢(shì),絕對(duì)不是一個(gè)真正的數(shù),不可參與運(yùn)算。
?大二篇?
那么吸取教訓(xùn),我不用現(xiàn)成符號(hào)了,我直接定義 ?1 / 0 ?= w,w是個(gè)“無(wú)限大”的數(shù),不碰什么極限,你總沒(méi)話(huà)說(shuō)了吧!
然而,定義不是說(shuō)來(lái)就來(lái)的,你雖然可以隨便定義東西,但定義完了如果和現(xiàn)有的其他系統(tǒng)矛盾,那就不能用,或者很不好用。
而我們面對(duì)w立刻就遇到了問(wèn)題。首先,w要怎么放入基本的加減乘除體系里?1 + w等于多少?w - w等于多少?如果你造了一個(gè)數(shù),卻連加減乘除都不能做,那就不是很有用對(duì)吧。
比如直覺(jué)上,1 + w 應(yīng)該等于 w,它都無(wú)限了嘛! 而 w - w 則等于0,自己減自己嘛!
但這樣立刻會(huì)和加法里極其重要的“結(jié)合律”產(chǎn)生矛盾: 1 + ( w - w ) = 1 + 0 = 1,可是( 1 + w ) - w = w - w = 0。結(jié)合律是加法里非?;镜臇|西,為了一個(gè)w,連結(jié)合律都不要了,這成本有點(diǎn)大——不光是結(jié)合律本身,多少數(shù)學(xué)定理證明過(guò)程中不自覺(jué)都用了它,扔了它就都得重來(lái),建立新體系。新體系不是不能建,但是費(fèi)心費(fèi)力又(暫時(shí))無(wú)卵用,所以大家還是在老實(shí)用舊的——而舊的里面,為了保住結(jié)合律,就不能這么玩。
歡迎讀者們發(fā)揮自己的想象力,嘗試為 w 給出運(yùn)算方式。但是你會(huì)發(fā)現(xiàn),無(wú)論怎么規(guī)定w和別的數(shù)字之間的關(guān)系,只要你還堅(jiān)持 1 / 0 = w,你就沒(méi)法讓它和你從小學(xué)習(xí)的基本數(shù)學(xué)不矛盾。還是那句話(huà),你可以另立門(mén)戶(hù),在w的基礎(chǔ)上建立起你的新數(shù)學(xué),但它和大部分傳統(tǒng)數(shù)學(xué)是不相容的,而且肯定會(huì)非常不好用,所以我們用了一個(gè)不能除以零的體系是非常合理的。
?大三篇?
你可能會(huì)提出反對(duì):有那么多的定義方式,我都試過(guò)?要是沒(méi)試過(guò),我怎么知道不會(huì)某一天冒出來(lái)一個(gè)能夠自洽的辦法?
“新發(fā)現(xiàn)推翻舊結(jié)論”這種事情,在生物里可以有,化學(xué)里可以有,物理里可以有,唯獨(dú)數(shù)學(xué)里沒(méi)有。因?yàn)閿?shù)學(xué)建立在邏輯上,個(gè)案有例外,邏輯沒(méi)有例外。當(dāng)然我們的數(shù)學(xué)還沒(méi)有完成最終公理化,還要面對(duì)哥德?tīng)柕挠撵`,但至少在這個(gè)例子里,如果w是一個(gè)真正的數(shù),那它就違反了一些非常重要的公理,而這些公理的地位可是非常之深。解析直覺(jué),推薦閱讀《數(shù)學(xué)思考法》
比如有一組基本的公理叫“皮亞諾公理”,其中有一條說(shuō),每一個(gè)確定的自然數(shù)都有一個(gè)確定的后繼,后繼也是自然數(shù);另一條說(shuō),自然數(shù) b=c,當(dāng)且僅當(dāng) b 的后繼 =c 的后繼。
那w是誰(shuí)的后繼呢——或者說(shuō),誰(shuí)加上1能得到 w 呢?顯然所有其他的數(shù)字都已經(jīng)有了自己的后繼,w 在其中沒(méi)有位置,沒(méi)有任何其他的數(shù)加上1能成為 w。那么就只能是1+w=w了,可那就直接和第二句話(huà)矛盾。而沒(méi)有皮亞諾公理,整個(gè)自然數(shù)的體系都不能成立。
這里假定w是自然數(shù)。其他情況會(huì)略微復(fù)雜一些,但無(wú)論如何,類(lèi)似的事情發(fā)生在w的各種定義里。如果你想把 w 當(dāng)成一個(gè)數(shù),那就沒(méi)法和我們現(xiàn)有的實(shí)數(shù)兼容。所以我們?cè)趲缀跛袌?chǎng)合下都只能宣布,不能除以 0。
?大四以上篇?
既然我們之前說(shuō)了個(gè)“幾乎”,那就是有例外的——在個(gè)別奇葩場(chǎng)合下,可以。
比如有一個(gè)東西叫做“復(fù)無(wú)窮”,它是擴(kuò)充復(fù)平面上的一個(gè)點(diǎn),真的是有定義的一個(gè)點(diǎn)。在這個(gè)特殊的規(guī)則下你可以寫(xiě)下 1 / 0 = ∞ 這樣一個(gè)表達(dá)式。這么做的原因就說(shuō)來(lái)話(huà)長(zhǎng)了,但它不是平常意義上的運(yùn)算——比如你不能把0拿回來(lái),不能寫(xiě) 1 = 0 * ∞。
另外,“無(wú)窮”二字在一些別的場(chǎng)合下是可以當(dāng)成一個(gè)“東西”去對(duì)待的。比如當(dāng)你衡量一個(gè)集合的大小的時(shí)候,它可以是無(wú)窮大的。但這就有很多種不同的無(wú)窮大了——自然數(shù)是無(wú)窮多的,有理數(shù)是無(wú)窮多的,實(shí)數(shù)也是無(wú)窮多的,可是奇數(shù)和偶數(shù)和正整數(shù)和負(fù)整數(shù)和自然數(shù)和有理數(shù)都一樣多,而實(shí)數(shù)卻比它們都多!同樣是無(wú)窮,有的無(wú)窮比別的無(wú)窮更無(wú)窮。但這就是另一個(gè)話(huà)題了,打住。學(xué)會(huì)像數(shù)學(xué)家一樣思考,推薦閱讀《數(shù)學(xué)思維導(dǎo)論》。
?總結(jié)篇?
所以,當(dāng)我們說(shuō)不能除以零的時(shí)候,理由……竟然出乎意料地充足。有許多直覺(jué)在數(shù)學(xué)里被推翻了,但是這一條沒(méi)有。我們有種種數(shù)學(xué)上的方式去證明它無(wú)法成立的原因,雖然也許聽(tīng)起來(lái)不如Siri的回答那么心暖(或者心寒),但這些理性的愉悅也是一種美麗,對(duì)吧?
精品課程推薦:
選購(gòu)數(shù)學(xué)科普正版讀物
嚴(yán)選“數(shù)學(xué)思維好物”
送給孩子的益智禮物? ?| ??辦公室神器
算法工程師成長(zhǎng)閱讀? ?| ??居家高科技
理工科男女實(shí)用型禮物精選? ?
數(shù)據(jù)與算法之美
用數(shù)據(jù)解決不可能
長(zhǎng)按掃碼關(guān)注
總結(jié)
- 上一篇: 双十一来了,揭秘菜鸟物流背后的那些算法黑
- 下一篇: 麻省理工告诉我们男女配对的真相!