本文主要是介绍sdut 3553 sdut第八届校赛--A*B,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:点击打开链接
题目描述
一天小白如往常一样约小黑粗去玩。他们两人划着木船在海上荡阿荡。
小白突然跟小黑说“小黑,我来烤烤你"
黑"纳尼"
白"不不不,我来考考你。我这有一个整数n,你能求出1~n中奇数加和与偶数加和的乘积么?"
黑"恩……"
噗通。。。由于小黑迟迟没有得到答案,小白睡了过去,因受力不平衡。友谊的小船居然(终于)翻了……
如果再给小黑一次机会,小黑会……来求助你。如果可以的话,你能帮帮他么?
小白突然跟小黑说“小黑,我来烤烤你"
黑"纳尼"
白"不不不,我来考考你。我这有一个整数n,你能求出1~n中奇数加和与偶数加和的乘积么?"
黑"恩……"
噗通。。。由于小黑迟迟没有得到答案,小白睡了过去,因受力不平衡。友谊的小船居然(终于)翻了……
如果再给小黑一次机会,小黑会……来求助你。如果可以的话,你能帮帮他么?
输入
多组输入。
先输入一个整数T表示组数,保证不超过100000组。
每组一个整数n(0 < n <= 10000)。
先输入一个整数T表示组数,保证不超过100000组。
每组一个整数n(0 < n <= 10000)。
输出
对于每组输入,输出一个正整数表示答案。
示例输入
3 1 2 3
示例输出
0 2 8
///sdut第八届校赛--A*B
///ps:等差数列求和公式sn=a1*n+((n-1)*n/2)*d
#include <iostream>using namespace std;int main()
{long long t;while(cin>>t){while(t--){int n;cin>>n;long long sj=0,so=0;int xj,xo;if(n%2==0){xj=xo=n/2;sj=xj+(xj*(xj-1));so=2*xo+(xo*(xo-1));cout<<sj*so<<endl;}else{xj=n/2+1;xo=n/2;sj=xj+(xj*(xj-1));so=2*xo+(xo*(xo-1));cout<<sj*so<<endl;}}}return 0;
}
这篇关于sdut 3553 sdut第八届校赛--A*B的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!