1:
可以畫一個圓,圓裡放一個內正三角形。當放入第二個時,我們就把它轉化為把已有的第一個三角形圍著同心軸稍微往右轉一點點(向左轉一樣的),那麼,第二個三角形的每一條邊都會與第一個三角形的其中兩條邊相交,這樣就可得3*1*2+2個區域,3表示3條邊,1表示第二個三角形的每一條邊都會與第一個三角形的其中兩條邊相交後得到一個三角形,2表示2個三角形,+2則表示外面的區域和同有的2個三角形共有的一個區域。同樣第三個三角形會與第一第二個三角形都有兩條邊相交。可得:3*2*3+2
由些可得,n個三角形:3*(n-1)*n+2
2:
遞推公式:a[i]=a[i-1]+(i-1)*6
[csharp]
#include"stdio.h"
int a[10010];
int main()
{
int i,t,n;
a[1]=2;a[2]=8;
for(i=3;i<=10000;i++)
a[i]=a[i-1]+2*(i-1)*3;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
printf("%d\n",a[n]);
}
return 0;
}