用N个四边方形最多可以把平面分成几个区域?
Input第一行输入一个整数T,表示数据组数(1<=T<=10000);第二行输入一个正整数n(1<=n<=1000);Output对于每组数据,请输出结果。Sample Input
2 1 2Sample Output
2
10
emmmmm我是手推出来的,就是是正方形 外平面一个 内平面一个 然后在加上四边扩充的
我觉得四边扩充的一定有规律,所以就去推了下 会发现四边扩充的以2的速度增长分别是 0,2,4,6,8
所以应该是0,2,6,12,20这样子的那就初始化下就直接输出了
搜了一波网上的题解,题解上说
n个m边形分割平面递推公式an=an−1+2m(n−1)an=an−1+2m(n−1)
得出四边形通项公式an=4n2−4n+2
代码:
//啦啦啦啦啦开心......
//四个角度那边的边,增加的个数分别是0,2,4,6,8,10....
#include<bits/stdc++.h>
using namespace std;
int digit[1005];
void init()
{
int beginn = 0;
int now =0;
for(int i =1;i<=1000;i++)
{
digit[i] = 2+now*4;
beginn+=2;
now = now +beginn;
}
}
int main()
{
int t,n;
init();
scanf("%d",&t);
while(t--)
{
cin>>n;
cout<<digit[n]<<endl;
}
return 0;
}