问题描述
我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是 n 条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最 多可以将平面分成 7 部分,具体如右所示。
输入
输入数据的第一行是一个整数 C,表示测试实例的个数,然后是 C 行数据,每行包含一个整 数 n(0<n<=10000),表示折线的数量
输出量
对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。
样本输入
2
1
2
样本输出
2
7
代码
#include <iostream>
using namespace std;
//数学问题:分割平面的几种类型:
//1、直线型:a[n]=(n*n+n+2)/2;
//2、平行线型:f(n)=2*n^2+1;
//3、折线形:f(n)=2*n^2-n+1;
//4、Z字型: f [n] = f [n-1]+9* (n-1) +1
int main(){
int n,i;
cin>>i;
while(i--){
cin>>n;
cout<<(2*n*n-n+1)<<endl;
}
return 0;
}