快速幂板子

快速幂是快速算 a 的 c 次幂

 原理:

我们用分治思想是比一个一个乘快的

即比如我们求a的8次方 :a1*a1 = a2 ,那么我们直接a2*a2 = a4,a4*a4 = a8

参数就是几次幂。返回值是对应参数的幂 (这里对p取余了)(一般也把a当参数)

long long a, p;//a^c mod p=s
long long fp(int c)
{if (c == 1)return a % p;long long tmp = fp(c / 2); if (c % 2 == 0)return tmp * tmp % p;elsereturn tmp * tmp % p * a % p;
}

细节解释:

c == 1就是1次幂。

tmp就是a的c/2次幂。我们要返回c次幂,整数除法是向下取整的。

(比如5次幂,5/2==2,那么需要额外乘一个使得为c次幂)  

——————————

非递归写法:(二进制拆分)

#define ll long long
ll mod = 1e9+7;
ll q(ll a,ll b)
{ll s = 1;while(b){if(b&1) s = s * a %mod;a = a * a % mod;b >> 1;}return a;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/622479.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 自定义网页图标 favicon.ico 和 网页标题

效果预览 1. 添加配置 vue.config.js 在 module.exports { 内添加 // 自定义网页图标pwa: {iconPaths: {favicon32: "./favicon.ico",favicon16: "./favicon.ico",appleTouchIcon: "./favicon.ico",maskIcon: "./favicon.ico",msTil…

Java进阶第一天

Java进阶第一天 文章目录 Java进阶第一天双列集合特点Map的常见APIMap集合的遍历方式 双列集合 特点 双列集合一次需要存一对数据,分别是键和值(键值对)键不能重复,值可以重复键和值一一对应 Map的常见API Map是双列集合的顶层接口,它的功能是全部双列集合都可以继承使用的…

memory泄露分析方法(java篇)

#memory泄露主要分为java和native 2种,本文主要介绍java# 测试每天从monkey中筛选出内存超标的app,提单流转到我 首先,辨别内存泄露类型(java,还是native) 从采到的dumpsys_meminfo_pid看java heap&…

【ROS2】使用C++实现简单的发布订阅方

1 构建自定义数据类型 1、自定义消息类型Student 1.1 创建base_interfaces_demo包 1.2 创建Student.msg文件 string name int32 age float64 height 1.2 在cmakeLists.txt中增加如下语句 #增加自定义消息类型的依赖 find_package(rosidl_default_generators REQUIRED) # 为…

C++ namespace高级用法

高级用法 C++中的命名空间(namespace)是一种用于组织代码的机制,它可以帮助避免命名冲突,并使代码更加清晰和易于维护。以下是C++命名空间的一些高级用法: 嵌套命名空间:命名空间可以嵌套在其他命名空间中,形成一个层次结构。嵌套命名空间可以进一步细化命名空间,使其更…

k8s operator从0到1实践

文章目录 环境准备一个k8s集群开发工具包mac安装 实践初始化operator项目核心逻辑编写测试验证验证 部署 参考 环境准备 一个k8s集群 推荐使用docker-desktop,本地单机集群 开发工具包 这里推荐使用脚手架工具kubebuilder 使用脚手架工具,能生成项目…

Java基础-常量,变量,数据类型-笔记

1.关键字分类 用于定义数据类型的关键字:class,interface,enum,byte,short,int,long,float,double,char,boolean,void。 用于定义流程控制的关键字…

「微服务」企业微服务架构

首先,来自Darren的消息是,微服务架构并不是构建大规模企业应用程序的新方式。Netflix和亚马逊等公司已经实施了微服务架构,在过去几年中提供了成功的产品。 但是微服务架构适合您的组织吗?答案不是简单的是或否,但我会…

【Vue样式绑定详细介绍】

Vue样式绑定详细介绍 1. 样式绑定2. 字符串语法3. 对象语法4. 数组语法4. 自动添加前缀5. 多重值 (2.x的.9版本或3.x) 1. 样式绑定 在Vue中,样式绑定是通过 v-bind:style 或简写 :style 来实现的,它允许你将多种样式动态地绑定到元素上,样式…

Atcoder beginner contest 336 -- D -- Pyramid

目录 D -- Pyramid: 题目大意: 思路解析: 代码实现: D -- Pyramid: 题目大意: 给你一个长度为n的数组,你可以对这个数组进行以下操作。 操作1:选择任意一个元素,使其值大小减一。 操作2&…

web前端javaScript笔记——(11)DOM

一、DOM简介 DOM简介 <!DOCTYPE html> <head><meta charset"UTF-8"><title></title><style></style><script type"text/javascript">/*宿主对象&#xff0c;由浏览器&#xff0c;运行环境为我们提供的对…

基于Java SSM框架实现学生成绩管理系统项目【项目源码+论文说明】

基于java的SSM框架实现学生成绩管理系统演示 摘要 学生成绩是高校人才培养计划的重要组成部分&#xff0c;是实现人才培养目标、培养学生科研能力与创新思维、检验学生综合素质与实践能力的重要手段与综合性实践教学环节。而学生所在学院多采用半手工管理学生成绩的方式&#…

FFmpeg技术详解

FFmpeg技术详解 本文概不介绍相关安装配置&#xff0c;详情请入官方或者其他大佬博客&#xff0c;此处做出推荐&#xff1a; https://ffmpeg.org/ FFmpeg官网 https://ffmpeg.github.net.cn/developer.html FFmpeg中文文档 https://blog.csdn.net/m0_47449768/article/details/…

如何安装Docker及对Docker环境进行配置

Linux环境 安装 在线安装 配置yum安装源 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo yum安装docker yum -y install docker-ce-18.06.1.ce-3.el7 docker --version 离线安装 docker安装包下载&#x…

steam搬砖项目赚钱吗?低门槛副业月入5k真的假的?

steam搬砖项目一开始默默无闻&#xff0c;现在越来越受欢迎&#xff0c;因为大家都看到了该项目的长期稳定性。 steam搬砖项目主要是搬csgo游戏装备和道具&#xff0c;从steam购买&#xff0c;在网易Buff上出售&#xff0c;赚取差价。只需少量投资&#xff0c;即可获得长期稳定…

(框架设计-基础库建设) boost 库

“框架”这个词所有的开发都听过&#xff0c;但是有多少人能理解框架的作用&#xff1f;为什么要花那么大精力去弄一个框架&#xff1f;大家应该都听过各个大厂稍微大点的项目都会有一个“框架组”/“架构组”等。 费这么大人力组建一个组来 做框架/架构 到底值不值呢&#xff…

软件测试|Python requests库的安装和使用指南

简介 requests库是Python中一款流行的HTTP请求库&#xff0c;用于简化HTTP请求的发送和处理&#xff0c;也是我们在使用Python做接口自动化测试时&#xff0c;最常用的第三方库。本文将介绍如何安装和使用requests库&#xff0c;以及一些常见的用例示例。 安装requests库 首…

C++ 类、结构体

C 类、结构体 类可以将变量、数组和函数完美地打包在一起。 类与结构体 类的定义&#xff1a; class Person {private:int age,height;double money;string books[100];public:string name;void say(){cout<<"Im"<<name<<endl;}int get_age(){…

Python Matplotlib 动画教程:提高可视化吸引力的强大工具【第24篇—python:Matplotlib】

文章目录 &#x1f356; 方法一&#xff1a;使用pause()函数&#x1f680; 方法二&#xff1a;使用FuncAnimation()函数&#x1f94b; 线性图动画&#xff1a;&#x1f3bb; Python中的条形图追赶动画&#x1f30c; Python中的散点图动画&#xff1a;&#x1f6f9; 条形图追赶的…

JPA的复杂查询包括一对多多对一和多对多的查询

1. 多表关联查询和排序 假设我们有两个实体类&#xff1a;Customer和Order&#xff0c;它们之间是一对多的关系&#xff0c;即一个客户可以有多个订单。我们想要查询某个客户的所有订单&#xff0c;并按订单金额进行降序排序。 Entity Table(name "customers") pu…