問(wèn)題是這樣的:?jiǎn)栍?span>n條直線(xiàn)最多能將平面分成多少個(gè)區(qū)域?
這也是一個(gè)很簡(jiǎn)單的遞歸問(wèn)題:
L[n] = L[n-1] + n; (L[0] = 1)
通項(xiàng)公式如下:
L[n] = n * (n + 1) / 2 + 1 ( n>= 0 )
如果不用直線(xiàn)的話(huà),用一個(gè)一般的折線(xiàn),那么n個(gè)這樣的折線(xiàn)最多可以拆分平面:
D[n] = L[2*n] - 2 * n;
D[n] = 2 * n ^ 2 - n + 1;
如果用"Z"字型的線(xiàn),n個(gè)折線(xiàn)最可拆分平面:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=652
Z[n] = Z[n-1] + 9*n - 8;
Z[n] = (9*n^2 - 7*n + 2) / 2;
1 #include<stdio.h>
2 int main()
3 {
4 int n;
5 while(scanf("%d",&n)!=EOF){
6 printf("%d\n",(9*n*n-7*n+2)/2);
7 }
8 return 0;
9 }
posted on 2010-10-11 10:45
孟起 閱讀(401)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
遞推 遞歸