这题打着高精的旗号其实是闹着玩的……(我不是题目)
数据范围就是提示你这题O(1)的
我们知道,一个数膜9的余数等于它数字和膜9的余数
我们可以把l到r加起来然后膜9
也就是(l+r)(r-l+1)/2%9
出现了除法所以我们把/2转化成逆元*5
就完了。
#include<bits/stdc++.h> using namespace std; long long q,l,r; int main(){ cin>>q; while(q--){ cin>>l>>r; cout<<((l+r)%9*(r-l+1)%9*5)%9<<endl; } return 0; }
原文:https://www.cnblogs.com/juruoajh/p/11837382.html