Description
Given two integers: n and m and n is divisible by 2m, you have to write down the first n natural numbers in the following form. At first take first m integers and make their sign negative, then take next m integers and make their sign positive, the next m integers should have negative signs and continue this procedure until all the nintegers have been assigned a sign. For example, let n be 12 and m be 3. Then we have
-1 -2 -3 +4 +5 +6 -7 -8 -9 +10 +11 +12
If n = 4 and m = 1, then we have
-1 +2 -3 +4
Now your task is to find the summation of the numbers considering their signs.
Input
Input starts with an integer T (≤ 10000), denoting the number of test cases.
Each case starts with a line containing two integers: n and m (2 ≤ n ≤ 109, 1 ≤ m). And you can assume that nis divisible by 2*m.
Output
For each case, print the case number and the summation.
Sample Input
2
12 3
4 1
Sample Output
Case 1: 18
Case 2: 2
分析:
这种题先打表,然后大胆的猜就行
规律为n*m/2
规律证明:
第一组-1 -2 -3 +4 +5 +6 结果为3*3,第二组-7 -8 -9 +10 +11 +12结果为3*3,推广下,每组结果为m*m,一共n/(2*m)组,相乘得结果为m*n/2.
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e6+5;
int main() {
LL n,c;
int T;
scanf("%d",&T);
int cas=0;
while(T--)
{
scanf("%lld %lld",&n,&c);
printf("Case %d: %lld\n",++cas,n*c/2);
}
return 0;
}