平面中的直线问题

平面中的直线问题

2008年4月10日23:52:47
第一个问题:
由平面中的n条直线确定的最大区域数Ln
 L0=1;
Ln=Ln-1+n(n>0);
Ln=1+n*(n+1)/2;

第二个问题:
是平面直线的变形问题,用弯曲的线来代替直线,每一个弯曲线含有一个“锯齿形的转角”,同样确定平面区域的最大个数Zn
(我们把一条弯曲折线抽象为两条,但是合并了某些区域)
Zn=L2n-2*n=2*n*n-n+1;(n>=0);

第三个问题:
就是一下这个问题:
count the regions

若当前有n-1条边,那么在往里面加一条边,这条新加的边最多和以前的边有9*(n-1)个交点,
那么会添加 9*(n-1)+1个面
这条规律对于上面两种也是用,加x个点,那么就会添加x+1个面

那么总结下来 Xn=Xn-1+9*(n-1)+1
即Xn=(9/2)*n*n-(7/2)*n+1;

以下是我的代码:

#include < stdio.h >
int  main()
{
    
long   long   n;
    
long   long   ans;
    
while (scanf( " %lld " , & n)! = EOF){
        ans
= 9 * n * n - 7 * n + 2 ;
        ans
/= 2 ;
        printf(
" %lld\n " ,ans);
    }
    return 
0 ;
}

你可能感兴趣的:(平面中的直线问题)