N个三角形分割平面个数(数学)

 

一个三角形的时候,再加一个三角形,每一条变会与第一个三角形的两条边相交,这样增加2个小三角形,即两个面。f(2)=3*2+f(1),再加一个三角形,每一条边会与前两个三角形的四条边相交,形成四个小三角形,f(3)=3*4+f(2),依次类推,f(n)=f(n-1)+6*(n-1),化简即f(n)=3*2*(n-1)+f(n-1)。

 

 1 # include <stdio.h>
 2 # include <iostream>
 3 using namespace std;
 4 
 5 void run1()
 6 {
 7     int n, m;
 8     scanf("%d", &n);
 9     while(n--)
10     {
11         scanf("%d", &m);
12         printf("%d\n", 3*m*(m-1)+2);
13     }
14 }
15 
16 void run()
17 {
18     int n, m;
19     int a[10010];
20     a[1] = 2;
21     for(int i = 2; i < 10002; i++)
22     {
23         a[i] = a[i-1]+6*(i-1);
24     }
25     scanf("%d", &n);
26     while(n--)
27     {
28         scanf("%d", &m);
29         printf("%d\n", a[m]);
30     }
31 }
32 
33 int main(void)
34 {
35     run();
36     //run1();
37 
38     return 0;
39 }
N个三角形分割平面个数

 

posted @ 2013-09-23 19:26  GLSilence  阅读(623)  评论(0编辑  收藏  举报