An Easy Problem
- 输入
- The first line contains an integer T, indicates the number of test case.
The next T lines, each line contains two integers L and R(1≤L,R≤10^5). - 输出
- Print an integer represents the sum.
- 样例输入
-
2 1 2 2 4
样例输出
5
29
//代码如下
#include<iostream> #include<stdio.h> using namespace std; int main() { int n; double a,b,i,sum; while(cin>>n) { while(n--) { cin>>a>>b; sum=0; if(a>b) swap(a,b); for(i=a;i<=b;i++) sum+=i*i; printf("%.lf\n",sum);//此处不能用cout,因为数较大,不能完整的输出 } } return 0; }
//参考别人的代码(用的是long long型的)
#include <cstdio> #include <algorithm> using namespace std; typedef long long LL; inline LL get_sum(LL x) { return x * (x + 1) * (2 * x + 1) / 6;//从1到x的平方的和的公式 } int main() { int T; LL L, R; scanf("%d", &T); while(T--) { scanf("%lld%lld",&L, &R); if(L > R) swap(L, R); printf("%lld\n", get_sum(R) - get_sum(L - 1)); } return 0; }