有多少個C程式?
有多少個C++程式?
有多少個程式?
……
答案都是可數無窮大個,既∞0。
我是想到了這一點:由有限個字元組成的字串數目極限於∞0個,(當然這裡字元的種類是有限的)。
大家知道2^∞0=∞1(還可以有n^∞0=∞1,n為>1的有限值),對於電腦上的程式,其字元種類是有限的,把所有的程式都看成是字串,就可以知道答案是∞0了。
或者乾脆把程式原始碼都看成是01序列,這個序列的長度是有限的。
有多少個有理數呢?
大家要注意考慮有理數的定義,是無限迴圈小數,而迴圈節長度必定是有限的,那麼根據“由有限個字元組成的字串數目極限於∞0個”,迴圈節數目極限於∞0,整數部分也是極限於∞0,而∞0乘∞0=∞0,所以有理數是有∞0個。在數學教材中也都有這個結論。
有多少個代數數呢?
代數方程是有限長的,所以總共有∞0個代數方程——可以理解了吧。
而代數方程的根頂多有∞0個,
∞0乘∞0=∞0,所以代數數是有∞0個。在數學教材中也都有這個結論。
非代數數就是超越數了,超越數有∞1-∞0=∞1個,遠遠的超過代數數數目。
但是超越數目前人類認識的還是很有限的,比如π、e、歐拉常數……
我們要注意到象π、e、歐拉常數……這一部分超越數都是有規律的,有各種級數展開式、連分數展開式、連根式展開式……等,那麼我們現在的問題是:
有多少個有規律的數呢?
要注意這個規律是任意的,只要有規律就行。能想到答案嗎?答案是∞0。
因為規律可以用有限長的字串來描述,而字元元種類是有限的,或者說是只有兩個,因為可以編碼成01序列。
說白了就是:可以用有限長的字串來描述的數是有∞0個。
那麼無規律的數有多少呢?有∞1-∞0=∞1個,遠遠的超過有規律的數。
當年開始學高等數學時,看到π的級數展開式,多麼美妙啊!我想一切數都可以這樣找出規律了,後來才發現——遠遠不行哪!
有多少個人能描述出的數呢?
∞0個,因為描述必須用有限長的字串。
有多少個人能認識的數呢?
∞0個,因為人能認識的必須是有限長的字串。
現在雖然我還寫不出一個“人不能認識的數”,但是我知道,那樣的數比人能認識的數多的多,是∞1個,呵呵,無論人認識了多少數。
現在的問題是:怎麼辦?
更詳細的請見
http://blog.csdn.net/universee
超越圖靈機系列文章