网页学习体会

  • 首页
  • 个人博客
您的位置: 首页  >  IT文章  >  快速幂&快速乘

快速幂&快速乘

分类: IT文章 • 2022-04-21 20:11:05
LL mult_mod(LL a, LL b, LL c)
{
    a %= c; b %= c;
    LL ret = 0;
    LL tmp = a;
    while (b){
        if (b & 1){
            ret += tmp; 
            if (ret > c) ret -= c;//直接取模慢很多
        }
        tmp <<= 1;
        if (tmp > c) tmp -= c;
        b >>= 1;
    }
    return ret;
}

LL pow_mod(LL a, LL n, LL mod)
{
    LL ret = 1;
    LL temp = a%mod;
    while (n){
        if (n & 1) ret = mult_mod(ret, temp, mod);
        temp = mult_mod(temp, temp, mod);
        n >> 1;
    }
    return ret;
}

相关推荐

  • Capistrano初探--Ruby快速部署工具
  • shell 脚本快速部署 SpringBoot 项目
  • FFT(快速傅里叶变换)
  • 快速排序
  • 分布式框架Dubbo入门 Dubbo结构介绍 快速部署 Dubbo负载均衡 Dubbo事务解决方案
  • C语言-数据的快速引用
  • 怎么快速写好看的手机menu菜单
  • 怎么安装mybatis以及快速生成xml文件
  • java----八种排序算法 1.直接插入排序 2.希尔排序 3.简单选择排序 4.堆排序 5.冒泡排序 6.快速排序 7.归并排序 8.基数排序
  • SpringBoot快速上手 一、微服务架构 二、SpringBoot 三、IDEA创建一个SpringBoot项目
  • PCL—低层次视觉—点云滤波(初步处理) 点云滤波的概念 点云滤波的方法 点云库对滤波算法的实现
  • 课程总结
    网站免责声明 网站地图 最新文章 用户隐私 版权申明
本站所有数据收集于网络,如果侵犯到您的权益,请联系网站进行下架处理。   

Copyright © 2018-2021   Powered By 网页学习体会    备案号:   粤ICP备20002247号