2^(2^(2^(2^(2^2))))=?
這個是很久以前我自己想出來的一個計算式,絕對原創。或許其他專業人士早就發現了,只是我孤陋寡聞,並沒有從網上看見它。
這個計算式最大的趣味就在於它看起來並沒有 2^99999999999999999999999 那么嚇人,但是它真正的值比2^99999999999999999999999大了無數倍,因為從我寫出這個計算式后,我發現我甚至無法用語言去描述這個結果的長度和廣度。
我們看看這個計算式一步一步的解析:
2^(2^(2^(2^(2^2))))=2^(2^(2^(2^4)))=2^(2^(2^16))=2^(2^65536),到了這一步,你可以想象一下,這個數字到底是多大。假設計算出來的值每一位占據宇宙中一個電子空間大小,那么我們的宇宙(假設最大直徑300億光年)能否裝滿這個數字?
作為coder,很明顯這個是一個遞歸計算.可用如下代碼實現,結果Pow2(5, 2)已經顯示為無窮大,而window自帶計算器計算為Pow2(5, 2)=4.5624406176221952186411716057003e+192。
void Count() { var number = Pow2(6, 2); //5次遞歸計算 } dynamic Pow2(int count, dynamic number) { return (--count > 0) ? Pow2(count, Math.Pow(2, number)) : number; }
這個數值比"在棋盤上64個格子里放大米粒的故事"要大多了,遞歸的力量不可想象!