P4942小凯的数字

Posted china-mjr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P4942小凯的数字相关的知识,希望对你有一定的参考价值。

给定一个序列,如12345 56789 1011121314等,输出对其取余9的结果。

那么我们需要明白一个定理,一个序列对一个数的取余结果等于它各位之和取余那个数的结果。证明似乎是这样i=0n?ai?10ii=0n?ai?1i=i=0n?ai?(mod9)(不会)。

然后我们只需要求出每一位的和即可,由于他们之间的差为1,所以可以用等差数列求和公式但这里涉及了两个问题,一个就是/2的问题,因为二者:l+r r-l+1的和为2r+1,

所以当r为奇数时2r+1为奇数,r为偶数时2r+1也为奇数,而一个奇数只能由一个奇数和一个偶数之和组成,所以必定是一个奇数一个偶数,所以将偶数除以二;第二个问题则是

long long溢出的问题,所以我们分别存储,并进行先模再模的公式,最后输出即可。

1.数论一定要动手算一算样例

2.注意思考巧妙的方法和处理的办法,多推导

代码

#include<bits/stdc++.h> 
using namespace std;
long long l,r;
int q;
int main(){
    cin>>q;
    while(q--){
        cin>>l>>r;
        long long a=l+r;
        long long b=r-l+1;
        if(a%2==0) a/=2;
        else b/=2;
        long long ans=((a%9)*(b%9))%9;
        cout<<ans<<endl;
    }
    return 0;
} 

 

以上是关于P4942小凯的数字的主要内容,如果未能解决你的问题,请参考以下文章

ACM_小凯的排序(字符串)

一道数学恶心题——小凯的疑惑

P3951 小凯的疑惑

洛谷 3951 小凯的疑惑

P3951小凯的疑惑

小凯的疑惑 数学