链接:https://ac.nowcoder.com/acm/contest/893/C
来源:牛客网
题目描述
已知整数a,a3a,a3除192的余数是1。求区间[L,R]之间满足条件的a的累加和是多少?
输入描述:
第一行是一个整数T(1≤T≤10000)T(1≤T≤10000),表示样例的个数。 每个样例包含两个整数L,R,1≤L≤R≤109L,R,1≤L≤R≤109。
输出描述:
每行输出一个样例的结果。
示例1
输入
复制
1 1 10
输出
复制
1
等差数列求和
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
int main()
{
int t;
cin >> t;
while (t--)
{
ll L, R; scanf("%lld%lld", &L, &R);
ll ans = 0;
L -= 2;
R--;
ll b = L / 192;
ll a = R / 192;
ll ans1 = (b + 1) * b * 192 / 2 + b + (L >= 0);
ll ans2 = (a + 1) * a * 192 / 2 + a + (R >= 0);
cout << ans2 - ans1 << endl;
}
return 0;
}