ポリライン分割面
件名の説明:
私たちは、私たちが求める、わずか対象、今日の変更をまっすぐに分割タイトル面をたくさん見てきた面の最大数を割るnは折り線です。例えば、折り線は、以下に示すように、2つは、平面部7に折り畳ま、二つの平面に分割することができます。
入力
入力データCの最初の行は整数であり、各ラインは、整数N(0 <N <= 10000を含んでいる、次いでC線データ、テストケースの数を示す )、 折り目の数を表します。
出力各試験例えば、最大分割数の出力面、例えば各行の出力。
サンプル入力2 1 2
サンプル出力
2 7
トピック分析:
図1に示すように、平面を分割するN直線の最大数は、2 + 2 + 3 + ... + N =(N * N + N + 2)/ 2直線の場合の最初の分析です。
図2は、分割面の2本の平行線の分析に続いて、N面を分割する直線の最大数は、3 + 6 + 10 + ... +である 2 * [2 *(N-1)+1] = 2 * N * N + 1(注:本明細書において使用される算術級数の総和式としてのSn = N-N- * A1 +(N - 1)D / 2です。);
図3は、今や平面、* N * N-N + 1 2を分割する直線の最大数nの面を減少させる、ポリライン平行線になるであろう。
上記の式に代入することができます。
その答えによって:
#include <stdio.h>
int main(){
int c,n;
while(scanf("%d",&c)!=EOF){
while(c--){
scanf("%d",&n);
int sum=2*n*n-n+1; //直接代公式
printf("%d\n",sum);
}
}
return 0;
}