平面直线切割问题 (LINES IN THE PLANE) 问题

来源:互联网 发布:第十二个天体 知乎 编辑:程序博客网 时间:2024/05/18 12:39

问题描述:平面上有n条直线,问你用这n条直线最多可以把这个平面分成几个区域;

当n=1时:          n=2时:            n=3时:    

所组成的区域个数:2                                        4                                                                        7.........

这里需要再说一下当n=0的时候,区域个数是:1

所以为了更方便我们做一个表格:n代表有n条线,m代表所组成的区域个数: 

令T[n]表示:用n条直线所组成的个数为T[n],显然可以推论出:T[n] = T[n-1]+n(n>0);

这样我们还是没办法轻易的看出一般式,那么我们继续推论:

T[n]=T[n-1]+n;

       =T[n-2]+(n-1)+n;

       =T[n-3]+(n-2)+(n-1)+n;

       .......

       =T[0]+1+2+...+(n-2)+(n-1)+n;

所以换句话说,T[n]实际上就是比正整数n的前n项和大1;


这里我要提一下这个:计算前n项的和,从小我都知道这个问题,当然我也认识了高斯,他提出这个问题解法的时候只有九岁,比我知道这个问题的岁数都小,吓得我赶紧又膜拜一下这个神人,在这里说一下高斯dalao是怎么推出来的;

      S[n]  =     1     +     2     +     3     +     4      +...+    (n-2)    +    (n-1)  +     n;

  +  S[n]  =     n     +  (n-1)  +   (n-2)  +  (n-3)   +...+       3       +       2     +    1;

                                                                                                                         

    2S[n]  = (n+1)   + (n+1)  +  (n+1)  +  (n+1)  +...+     (n+1)  +  (n+1)  +(n+1);

              =n*(n+1);

    所以S[n]=n*(n+1)/2;  这里多提了一个问题

回归正题,我们的答案早已经求出,即:当有n条直线时,所能界定的区域个数为:

            T[n]=n*(n-1)/2+1;

原创粉丝点击