1 2 3
2 4 8
一、先要弄清楚直线分割平面的问题。
都知道,直线要分割平面最多的前提条件是:任意两条直线都要相交,且任意三条直线不能有同一个交点。
一条直线把平面分成两部分,即 f(1) = 2;
两条直线把平面分成四部分,即 f(2) = 4;
..............
设n-1条直线把平面分成f(n-1);
接下来看看f(n)与f(n - 1)的关系. n条直线要想分得最多的部分。则第n条直线与n - 1条直线任意直线都要相交,且任意三条直线不能有同一个交点。那么第n条直线与其他直线有n - 1个交点,这n - 1个交点把第n条直线分成了n段,通过画图可知,这n段把它所在的区域一分为二。即f(n) = f(n - 1) + n;
由此可知
f(1) = 2;
f(2) =f(1) + 2;
f(1) =f(2) + 3;
.................
f(n - 1) =f(n - 2) + n -1 ;
f(n) =f(n - 1 ) + n;
则f(n) = f(1) + 2 + 3 + 4 + 5 + +n;
则直线分最大平面的通项为 f(n) = 1/2 * (n*n + n) + 1; 可以看出n = 1是也符合。
二、平面分空间
跟直线分平面一样,这里也是 要任意两个平面都相交,且任意三个平面不能有同一交线
一个平面把空间分成2部分,两个平面把空间分成4部分,3个平面把空间分成八部分、、、判断n个平面最大分割空间数目。F(n) = ?。
PS:刚开始一直不明白3个平面把空间分成把部分是怎么做到的,其实是第3个平面与前2个平面有两条交线,因为在空间可以假设无限大,那个可以是这两条交线在第三个平面内相交,那第三个平面就被分成4部分,每部分把它原来的区域一分为2 ,那个就比F(2)多了4部分。即为8.
根据3个平面的情况应该就知道公式,直接给出
F(n) = 2 + 1 / 2 *(1 * 1 + 1) + 1+ 1 / 2 *(2 * 2 + 2) + 1+ 1 / 2 *(3 * 3 + 3) + 1 + + 1 / 2 *((n - 1) * (n - 1) + (n - 1)) + 1
F(n) = n + 1 + 1 / 2 * (1 * 1 + 2 * 2 + 3 * 3 + + (n - 1) * (n - 1) ) + 1 / 2 * ( 1 + 2 + 3 + 4 + + (n - 1))
最后求出通项公式即为 F(n) = (n * n * n + 5 * n + 6) / 6; 带入1,也符合通项。
PS:平方项的通项公式如何求?百度一下。。。。。囧~~~~
1^2+2^2+3^2+……+n^2=n(n+1)(2n+1)/6 具体算法 利用立方差公式 n^3-(n-1)^3=1*[n^2+(n-1)^2+n(n-1)] =n^2+(n-1)^2+n^2-n =2*n^2+(n-1)^2-n 各等式全相加就得到咯代码如下 #include<stdio.h>