快速运算模板(未完待续)

Posted peter0701

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速运算模板(未完待续)相关的知识,希望对你有一定的参考价值。

快速运算题目(持续更新)

\\(1.\\) \\(Raising\\) \\(Modulo\\) \\(Numbers\\)

快速幂

细节:注意返回答案前取模。

$View$ $Code$

inline long long readl()

    long long ret=0,f=1;
    char ch=getchar();
    while(ch>‘9‘||ch<‘0‘)
    
        if(ch==‘-‘)
            f=-1;
        ch=getchar();
    
    while(ch>=‘0‘&&ch<=‘9‘)
    
        ret=(ret<<1)+(ret<<3)+ch-‘0‘;
        ch=getchar();
    
    return ret*f;

inline long long qpow(long long a,long long b,long long mod)

    long long ans=1;
    while(b)
    
        if(b&1)
            ans=ans*a%mod;
        a=a*a%mod;
        b>>=1;
    
    return ans%mod;

long long a,b,p;
int main()

    a=readl();
    b=readl();
    p=readl();
    printf("%lld\\n",qpow(a,b,p));
    return 0;

快速乘(二进制拆分)

$View$ $Code$

inline long long readl()

    long long ret=0,f=1;
    char ch=getchar();
    while(ch>‘9‘||ch<‘0‘)
    
        if(ch==‘-‘)
            f=-1;
        ch=getchar();
    
    while(ch>=‘0‘&&ch<=‘9‘)
    
        ret=(ret<<1)+(ret<<3)+ch-‘0‘;
        ch=getchar();
    
    return ret*f;

inline long long qpow(long long a,long long b,long long mod)

    long long ans=1;
    while(b)
    
        if(b&1)
            ans=(ans+a)%mod;
        a=(a<<1)%mod;
        b>>=1;
    
    return ans%mod;

long long a,b,p;
int main()

    a=readl();
    b=readl();
    p=readl();
    printf("%lld\\n",qpow(a,b,p));
    return 0;

快速乘(long double)

以上是关于快速运算模板(未完待续)的主要内容,如果未能解决你的问题,请参考以下文章

关于DOM的一些总结(未完待续......)

高精度模板(未完待续)

综合运用类继承多态,完成一个公司人员管理类层次结构(未完待续)

P3373 模板线段树 2 (未完待续)

计算几何模板(未完待续)

数论模板总结 -- 未完待续