4942小凯的数字
作者:互联网
4942 小凯的数字
这道题是用来学习逆元的
题意很好理解,就是一个区间的数的拼一起对9进行取余
如果用正常的算法会的到70分,需要进行逆元
通过学习会想起来之气五年级的一个知识点,就是说“一个数%9的余数等于一个数各个位之和模%9的余数”
那么表示和的话的就有两个算式
(l+r)*(r-l+1)/2拆:
1.(l+r)/2与(r-l+1)
2.(l+r)与(r-l+1)/2
所以我们就分了两种情况,奇数偶数啦
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
long long q;
long long l,r;
int main()
{
cin>>q;
long long x,y;
while(q--)
{
cin>>l>>r;
if((l+r)%2==0)
{
x=(l+r)/2;
y=r-l+1;
}
else
{
x=(r-l+1)/2;
y=l+r;
}
cout<<(x%9*y%9)%9<<endl;
}
return 0;
}
标签:小凯,数字,4942,cin,long,逆元,include 来源: https://blog.csdn.net/CCCCDEV_CCCC/article/details/117390381