首页 > 其他分享 >快速幂模板

快速幂模板

时间:2023-10-31 19:48:58浏览次数:27  
标签:return res long while ksm 快速 模板 mod

//快速幂
//底数128
long long ksm(__int128 a, long long b, long long p) {
	__int128 res = 1;
	while (b) {
		if (b & 1)res = res * a % p;
		b >>= 1;
		a = a * a % p;
	}
	return res;
}
//不带模参数,非128
long long ksm(long long a, long long b) {
	long long res = 1;
	while (b) {
		if (b & 1)res = res * a;
		b >>= 1;
		a = a * a;
	}
	return res;
}
//带模
long long ksm(long long a, long long b,long long mod) {
	long long res = 1;
	while (b) {
		if (b & 1)res = (res % mod * a % mod) % mod;
		b >>= 1;
		a = (a % mod * a % mod) % mod;
	}
	return res % mod;
}

标签:return,res,long,while,ksm,快速,模板,mod
From: https://www.cnblogs.com/Kescholar/p/17801094.html

相关文章

  • 软件测试|快速、可靠的JavaScript依赖管理工具——yarn
    简介Yarn是一个由Facebook于2016年推出的JavaScript软件包管理器。它的目标是解决npm(Node.js的默认软件包管理器)在性能和可靠性方面的一些问题。Yarn旨在提供更快、更安全、更稳定的依赖项安装过程,使JavaScript开发人员能够更轻松地管理和构建项目。本文将详细介绍Yarn的特点、......
  • 二分模板 Acwing 789 数的范围
     二分一定有解,若出现无解,一定是题目中无解二分步骤:定义check函数,先找到一个x,使得区间左边满足条件区间右边不满足条件,定义mid=l+r>>1去判断于x的关系,此时需要判断边界关系,例如当a[mid]小于x时,说明二分值在x的左边,此时缩小范围为【mid,r】,即令l=mid,此时返回check函数,......
  • 软件测试|Yarn安装指南:在不同平台上快速启动JavaScript项目
    简介Yarn是JavaScript生态系统中流行的包管理器,它可以加快依赖项的安装速度,提供更好的性能和安全性。本文将为介绍在不同平台上安装Yarn的教程,帮助大家快速启动JavaScript项目。Linux安装Yarn在Linux系统上安装Yarn通常有几种方式,具体取决于我们的系统和包管理器。以下是一些......
  • 使用Postman快速复现浏览器的请求(包括生成调用代码)
    前言大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。好久没有写开发类的工具使用文了,这次我来讲下平时我是如何使用Postman工具的。一、工具准备软件下载链接:https://www.postman.c......
  • 洛谷P3805 【模板】manacher
    题目链接:https://www.luogu.com.cn/problem/P3805manacher算法模板题。参考资料:https://oi-wiki.org/string/manacher/示例程序:#include<bits/stdc++.h>usingnamespacestd;constintmaxn=2.2e7+5;intn;chars[maxn/2],a[maxn];intp[maxn];voidinit(){......
  • Mac OS XML禁用app模板 配合work space one 使用
    参考link:https://www.youtube.com/watch?v=NOVZpp2kNUA支持禁用字段:name/cdhash/path/bundleId1<dict>2<key>Restrictions</key>3<array>4<dict>5<key>Attributes</key>6&......
  • java根据模板生成表格和列表
    1、模板所有的标签都是以{{开始,以}}结束。{{template}}文本{{@template}}图片{{#template}}表格{{*template}}列表{{+template}}Word文档合并{{?template}}{{/template}}if和foreach功能 2、引入包<!--POI依赖使用xlsxxml的格式(即X......
  • flutter 快速生成模型文件
    安装依赖flutterpackagesaddbuild_runnerflutterpackagesaddjson_serializable定义文件lib/models/user.dartimport'package:json_annotation/json_annotation.dart';part'user.g.dart';@JsonSerializable()classUser{User(this.name,......
  • 快速运维 - K8s
    更新日志:-2023.10.311055初始化HELMHelm是一个用于k8s的包管理器,使用helm之后就不需要了解k8s的yaml语法并编写应用部署文件,可以通过helm下载并在k8s上安装需要的应用。Helm还提供了k8s的软件部署,删除,升级,回滚应用的强大功能。列表列举安装的应用helmlist卸载卸......
  • (原创)安卓快速使用简单的RecyclerView
    原创声明:本文所有图片和代码皆由本人制作和编写。目录前言目标与效果3步走第一:在布局文件添加RecyclerView组件第二:创建适配器为适配器提供每一个小条目的布局为适配器提供要显示的内容数据在适配器里完成事件监听器第三:把第一步的布局里的RecyclerView组件和第二步的适配器关联......