zoukankan      html  css  js  c++  java
  • 快速* 模板

    快速乘法取余

    给定三个整数 \(a,n,mod\) ,求 \(a \times n ~\%~mod\) 的值。

    inline int mult_mod(int a, int n, int mod)
    {
        int ans = 0;
        while (n > 0)
        {
            if (n & 1)
                ans = (ans + a) % mod;
            a = (a + a) % mod;
            n >>= 1;
        }
        return ans;
    }
    

    这个东西好像没有必要的样子,貌似只需要 \((a~\%~mod)×(n~\%~mod)~\%~mod\) 即可。

    快速幂

    给定三个整数 \(a,n,mod\) ,求 \(a^n~\%~mod\) 的值。

    ll ksm(ll a, ll b, ll mod)
    {
        if (mod == 1)
            return 0;
        ll ans = 1;
        ll tmp = a % mod;
        while (b)
        {
            if (b & 1)
                ans = ans * tmp % mod;
            tmp = tmp * tmp % mod;
            b >>= 1;
        }
        return ans;
    }
    
  • 相关阅读:
    线程
    进程2
    进程
    socketserver
    黏包
    初始网络编程
    模块
    super
    mro c3算法
    日志固定格式
  • 原文地址:https://www.cnblogs.com/EdisonBa/p/14948654.html
Copyright © 2011-2022 走看看