Description
Alternating sums happen when you add one number in the sequence and then subtract off the following number from the sum. Repeat. Weird things happen when dealing with infinite alternating sums as some can made to converge to different values by rearranging terms, etc. (This applies to conditionally convergent series.) For this problem we'll be concerned with finite integer sums. The first two terms are added, the third subtracted, the fourth added, etc. For example, the alternating sum from 2 to 4 is 2 + 3 - 4 = 1. The alternating sum from 4 to 7 is 4 + 5 - 6 + 7 = 10. The sum from 4 to 4 is boring as it only includes one term, 4.
Input
Each line of input has two positive integers, a and b, each smaller than 1000. You may assume that a <= b.
Output
For each line of input, print out the alternating sum from a to b, inclusive.
Sample Input
2 4 4 4 10 20
Sample Output
1 4 5
Source:#include < iostream.h >
#include < math.h >
int sum( int a, int b)
... {
if(a==b) return a;
int s=a;
int k=0;
for(int i=a+1;i<=b;i++)
...{
s+=(int)pow(-1,k++)*i;
}
return s;
}
int main()
... {
int a,b;
while(cin>>a>>b)
...{
cout<<sum(a,b)<<endl;
}
return 0;
}