n個平面最多把乙個空間拆成多少個區域

2022-04-28 16:42:06 字數 1999 閱讀 9255

n條直線最多把乙個平面拆成1+(n+1)*n/2個區域,

請問:n個平面最多把乙個空間拆成多少個區域?(n>=0)

這個問題我想了挺久,後來有在網上搜,並且也搜到了很詳細的解答,但是沒有看,我還是希望能自己想出來(其實是覺得看那

麼多字很煩:-p)。終於在乙個漆黑的夜晚靈光一現,地球**了。:)

答案是什麼並不重要,重要的是過程。

首先來看n條直線最多能把乙個平面拆成多少個區域這個問題。

這個二維的問題是很形象很直觀的,我們可以數出來。

直線數 平面區域數

1 22 4

3 74 11

5 16

6條就比較難數了,不過從前5條對應的平面區域數能很容易看出來這是個一階等差數列,很容易就能推導出題目中給的公式了。

那麼,n個平面拆空間的數目也可以這樣數嗎?

很遺憾的是,本人三維空間的想象力似乎比二維差很多,四個平面的時候還能湊合著數出來,5個的時候就徹底暈菜了,而僅僅

從前四個資料找規律是很不妥當的,況且規律並不像上面的問題那麼輕易就能用眼睛看出來。

於是我又重新回顧直線分平面的過程,用更理性的方法分析我是怎樣得到的結果,而不是憑空想象。

如圖當我們知道了3條直線能把平面分成7個區域的時候,新增第4條直線,那麼這條直線必須和另外3條直線都相交才能得到「最多」

把平面分成多少個區域。於是,這3個交點把這條直線分成了4部分,或是線段或是射線,每一部分都將原有的整塊區域分成了兩

塊區域,則新增了4個區域,新增的區域數與直線被分成了幾段有關。也就是說,如果我們用a(3)來表示3條直線能分平面的區

域數,a(4)就等於a(3)+4。同理,a(5) = a(4)+5,an = a(n-1)+n = a(n-2)+(n-1)+n = …… = a(1)+2+3+4+

……+n = (n+1)×n/2+1。

那,當我們知道n個平面把空間分成多少區域的時候,能不能推出n+1個平面的情況呢?(忽然覺得這好像數學歸納法哎)

我們來看新增第4個平面的情況。

3個平面分多少區域的問題好象是小學某一年暑假園地的題目:-p,三刀最多能把西瓜切成幾塊,很簡單,8塊。

新增第4個平面,這個平面要與其餘3個平面都相交,而且不能三個平面交於同一條直線,才能得到「最多」把空間分成多少區域

。所以,第4個平面應該和前3個平面構成乙個四面體(三稜錐)。那麼,這是多少區域呢?。。似乎有點難數,雖然努力一下可

以數出來,但是沒有必要。我們來看這個圖。

假設四面體的底面是我們新添的平面,圖中給出了前3個平面與這個平面的交線。這些交線把這個平面分成了幾個部分呢?

咦?這個問題怎麼好像做過?

就是3條直線最多把平面分成幾個區域嘛。噢~~似乎有點思路了哎。

平面被3條直線分成了7個區域,每個區域都將原來的一部分空間變成了兩部分空間。也就是說,新增了7個空間。同上,如果我

們用b(3)來表示3個平面分了幾個空間區域,那麼b(4)就等於b(3)+a(3)。a(3)是什麼?上面剛說的嘛,向上看,第一

個圖的下面一段話。

看起來挺對的哎,就是還有點小猶豫。要不我們再看看5個平面的情況驗證一下?

呃……好吧我畫的真糟。:(

平面β和α是會相交的,而且如果要得到最多的空間區域,交線與其他平面和β的交線不平行。於是乎,問題又轉換成了,4條

直線把平面分成了多少區域。所以呢,b(n)真的等於b(n-1)+a(n-1)。

好啦,我要得出結果啦。b(n) = n+1+(n+1)*n*(n-1)/6

別問我結果怎麼推出來的,二階等差嘛。。

呃……其實我數學超爛,1×2+2×3+3×4+……+(n-1)×n 等於多少不會算,還是請教了fancymouse殿下,林杰傑,flyfox,

ailyanlu,tdzl眾牛才會算:(好笨。原理是c(a,a)+c(a+1,a)+...+c(b,a)=c(b+1,a+1),把a換成2,b換成n可以直接得到。也或者1×2+2×3+3×4+……+(n-1)×n = (1^2+2^2+3^2+……+n^2)-(1+2+3+……+n) = n×(n+1)×(2n+1)/6-(n+1)×n/2。

囧ing

乙個程序最多能開多少個執行緒?

在x86平台32位系統,系統占用2gb位址空間,使用者方式2gb。如果使用vs,鏈結程式開關 sack 或者 f可以設定執行緒堆疊大小,預設分配乙個執行緒的堆疊大小是1mb,當createthread引數的stacksize大小與鏈結程式設定的不一致時,採用的方法是誰大用誰的,所以用4kb修改當然不...

乙個程序最多能包含多少執行緒

小watch水平有限,希望大家多多指正文中的錯誤,共同進步 最近在學習os的多執行緒課程,第乙個實驗室關於windows的多執行緒,用mfc實現。實驗蠻簡單的,但是,我不由想到了,乙個程序最多能包含多少個執行緒。在網上查了查,貌似也沒找到多少這方面的資料。大部分都是關於伺服器多執行緒鏈結sever的...

將乙個dataTable拆成多個

最近遇到乙個問題害我鬱悶了很久,在乙個頁面裡分類顯示資料,每乙個大類裡的資料是動態取得。打算將它分三列顯示,希望得到的效果 顯示成了 aa cceeaaccee aaacceeaaccee aaacceeaaccee bbbcceeccee bbbcceeccee bbbddeeee bbbddff...