[解题报告]10783 - Odd Sum

  Odd Sum 

Given a range [ab], you are to find the summation of all the odd integers in this range. For example, the summation of all the odd integers in the range [3, 9] is 3 + 5 + 7 + 9 = 24.

Input 

There can be at multiple test cases. The first line of input gives you the number of test cases, T ( 1$ \le$T$ \le$100). Then T test cases follow. Each test case consists of 2 integers a and b ( 0$ \le$a$ \le$b$ \le$100) in two separate lines.

Output 

For each test case you are to print one line of output - the serial number of the test case followed by the summation of the odd integers in the range [ab].

Sample Input 

2
1
5
3
5

Sample Output 

Case 1: 9
Case 2: 8

 


Miguel Revilla 2004-12-02
 
 
 
a+(a+2)+(a+4)+…+b
转换为
(1+3+5+…+b)-(1+3+5+…+(a-2))=((b+1)/2)^2 – ((a-1)/2)^2
 
 
#include<stdio.h>
int main()
{
  int T;
  int a,b,i;
  while(scanf("%d",&T)!=EOF)
  {
    for(i=1;i<=T;i++)
    {
      scanf("%d%d",&a,&b);
      if(!(a%2)) a++;
      if(!(b%2)) b--;
      printf("Case %d: %d\n",i,(b+1)/2*(b+1)/2-(a-1)/2*(a-1)/2);
    }
  }
  return 0;
}

 

posted @ 2013-02-25 15:31  三人木君  阅读(161)  评论(0编辑  收藏  举报