YK的书架
题目描述
YK新买了2n+1本相同的书,准备放在家里的3层书架上(每一层放书的数量>=0且<=n)。不过YK摆放他的书有些特殊的要求,即任意两层摆放的书的数目之和,严格大于另一层的书的数目。现在YK想知道在满足他的要求的前提下有多少种不同的摆书方法。
输入
输入有多行,每行一个整数n(1<=n<1e9),其含义如题目描述中所述
输出
对于每行输入,输出一行答案。
样例输入
1
2
样例输出
1
3
YK新买了2n+1本相同的书,准备放在家里的3层书架上(每一层放书的数量>=0且<=n)。不过YK摆放他的书有些特殊的要求,即任意两层摆放的书的数目之和,严格大于另一层的书的数目。现在YK想知道在满足他的要求的前提下有多少种不同的摆书方法。
输入
输入有多行,每行一个整数n(1<=n<1e9),其含义如题目描述中所述
输出
对于每行输入,输出一行答案。
样例输入
1
2
样例输出
1
3
code:
#include<cstdio>
using namespace std;
int main()
{
long long int n;
while(~scanf("%lld",&n)){
long long int m;
if(n%2==1)
m=(1+n)*(n/2)+n/2+1;
else
m=(1+n)*(n/2);
printf("%lld\n",m);
}
}