欧拉定理:面=边+2-点;
边:b[i]=b[i-1]+(4*i-3)*3;
点:d[i]=d[i-1]+(2*i-1)*3;
两个都是等差数列,可以化简后直接套公式,也可以直接递推;
这里直接递推:
#include <stdio.h>
#include <string.h>
#define maxn 10005
__int64 d[maxn],b[maxn];
void solve()
{
__int64 i;
memset(d,0,sizeof(d));
memset(b,0,sizeof(b));
d[1]=3;
for(i=2;i<maxn;i++)
d[i]=d[i-1]+(2*i-1)*3;
b[1]=3;
for(i=2;i<maxn;i++)
b[i]=b[i-1]+(4*i-3)*3;
}
int main()
{
__int64 T,n;
solve();
scanf("%I64d",&T);
while(T--)
{
scanf("%I64d",&n);
printf("%I64d\n",b[n]+2-d[n]);
}
}