用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; }