1009: QAQ的区间价值 [思维]
时间限制: 1 Sec 内存限制: 128 MB输入
第一行输入一个整数TT,代表有TT组测试数据。
每组数据占两行,第一行输入一个整数NN,代表序列的元素个数。
注:1<=T<=10000,1<=N<=1000001<=T<=10000,1<=N<=100000。
每组数据占两行,第一行输入一个整数NN,代表序列的元素个数。
注:1<=T<=10000,1<=N<=1000001<=T<=10000,1<=N<=100000。
输出
对每组测试数据,输出序列所有子区间价值之和。
样例输入
3
1
2
99
样例输出
1
0
2500
N为偶数时,结果为零;N为奇数时,结果为1+3+5+...+N.即首项为1,公差为2,共(N+1)/2项的等差数列。
公式整理后为(N+1)*(N+1)/4
AC:
#include<iostream>
using namespace std;
int main(){
int T;
cin>>T;
while(T--)
{
int N;
cin>>N;
if(N&1)
cout<<(N+1)*(N+1)/4<<endl;
else
cout<<0<<endl;
}
return 0;
}