568. 奇妙的数列
-
判断区间起始位置l的奇偶性,若为偶数,则偶奇交替,一对和为1,反之为-1
-
然后计算区间内元素对数(r - l + 1) / 2,区间元素个数为r - l +1,如果区间内总数为偶数,必然是一正一负刚好成对。如果为奇数,需要判断区间右端点r位置数字奇偶性,并加到sum上。
import java.io.*;
class Main{
public static void main(String args[]) throws Exception{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bf.readLine());
while(n -- > 0){
String s [] = bf.readLine().split(" ");
int l = Integer.parseInt(s[0]), r = Integer.parseInt(s[1]);
// 区间内对数
int k = (r - l + 1 ) >> 1;
int t = r - l + 1;
long sum = 0;
if((l&1)==1){
sum = k;
}else{
sum = - k;
}
// 奇数个
if((t&1)==1){
if((l&1)==1){
sum -= r;
}else{
sum += r;
}
}
System.out.println(sum);
}
}
}