题目描述
小 H 有一天突发奇想,写下了一串数字:l(l+1)(l+2)...(r-1)r。例如:
l = 2,r = 5 时,数字为:2345; l = 8,r = 12 时,数字为:89101112
小 H 很喜欢数字 9,所以他想问你他写下的数字除以 9 的余数是多少?
比如: l = 2,r = 5 时,2345 \mod 9 = 5; l = 8,r = 12 时:89101112 mod 9 = 5。
输入格式
第 行为数字 ,表示小 H 有 个问题。
第 至第 行,每行两个数字 表示数字范围。
输出格式
对于每行的问题输出一行,一个数字,表示小 H 问题的回答
样例
输入样例1
digit.in
复制2
2 5
8 12
输出样例1
digit.out
复制5
5
输入样例2
digit.in
复制3
1 999
123 456
13579 24680
输出样例2
digit.out
复制0
6
0
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
//freopen("digit.in","r",stdin);
//freopen("digit.out","w",stdout);
int t;
scanf("%d",&t);
while(t--)
{
long long l,r;
cin>>l>>r;
long long cnt=(r-l+1)%9;;
long long ans=cnt*(l%9)%9+(cnt)*(cnt-1)%9*5%9;
cout<<ans%9<<endl;
}
return 0;
}