首页 > 其他分享 >【模板】快速幂 | 取余运算

【模板】快速幂 | 取余运算

时间:2023-07-10 09:55:38浏览次数:45  
标签:运算 样例 long ans 取余 模板 mod

题目


【模板】快速幂 | 取余运算

题目描述

给你三个整数 a,b,p,求abmod p

输入格式

输入只有一行三个整数,分别代表 a,b,p

输出格式

输出一行一个字符串 a^b mod p=s,其中 a,b,p分别为题目给定的值, s 为运算结果。

样例 #1

样例输入 #1


2 10 9

样例输出 #1


2^10 mod 9=7

提示

样例解释

210 = 10241024 mod 9 = 7

数据规模与约定

对于 100% 的数据,保证 a,b ≤ 231a+b>0p ≤ 231

题解

题意:

         求出a^b mod p=s并以此格式输出

思路:

        这是一道模板题,并没有什么好说的,直接套模板就可以了


#include<bits/stdc++.h>
using namespace std;
unsigned long long a,b,k,ans=1;
long long js(long long a,long long b,long long k){
	while(b!=0){
		if(b&1)
			ans=ans*a%k;
		a=a*a%k;
		b>>=1;
	}return ans;
}
int main(){
	cin>>a>>b>>k;
	ans=js(a,b,k);
	cout<<a<<"^"<<b<<" mod "<<k<<"="<<ans<<endl;
	return 0;
}

标签:运算,样例,long,ans,取余,模板,mod
From: https://www.cnblogs.com/liudagou/p/17540050.html

相关文章

  • 根据模板动态生成word(一)使用freemarker生成word
    @目录一、准备模板1、创建模板文件2、处理模板2.1处理普通文本2.2处理表格2.3处理图片二、项目代码1、引入依赖2、生成代码三、验证生成word一、准备模板1、创建模板文件首先先建立一个word文件,输入模板内容freemaker的内容,下面是本次演示的word文件。然后将word文件另存......
  • 洛谷 P3378 【模板】堆
    siftup模板当然还得有siftdown模板“稍”加调试,就可以得到模板代码#include<bits/stdc++.h>usingnamespacestd;intn,op,sl=0,h[1000010];voidjh(intx,inty)//交换{intz=h[x];h[x]=h[y];h[y]=z;}voidsiftu(inti)//siftup{boolf=true;......
  • 命令模式和模板模式以及构造者模式在工程中的应用
     在开发springboot项目的开发过程中我们总会使用到mvc模式,在controller层写接口,service中写业务,dao层进行数据持久化。这种模式总会service的实现层写很多代码,这样会使得seviceimpl类中有很多业务代码,以及注入很多的bean,后期维护起来会相当麻烦。今天采用命令模式,模板模式来实现......
  • 四个数 运算之后 结果是 24
    packageog.com;importjava.util.ArrayList;publicclassTest24{ArrayListal=newArrayList();publicstaticvoidmain(String[]args){int[]in={1,2,3,4};String[]fl={"+","-","*","/"};newTest24().s......
  • c++模板相关学习--泛型编程
     类模板基础#define_CRT_SECURE_NO_WARNINGS#include<iostream>usingnamespacestd;#include<string>template<classNAMETYPE,classAGETYPE=int>//类模板中可以有默认参数classPerson{public:Person(NAMETYPEname,AGETYPEage){......
  • [模板]01trie,维护异或最大值
    //查询异或最大值,每次插入和查询时间都是log(C)template<classT>classtrie01{vector<vector<T>>tree;public:trie01():tree(1,vector<T>(2,0)){}//插入待检查的数字voidinsert(Tx){intp=0;for(inti=sizeof......
  • OSG 使用整理(5):模板测试与边缘效果
    osg使用整理(5):模板测试与边缘效果1模板测试​ 在渲染管线中,模板测试在片段着色器后执行,通过像素与模板缓冲中的模板值比较,选择性丢弃或者保存这个像素颜色。我们可以通过更新模板测试来获得一些很有意思的效果。下图为LearnOpenGL网站一个例子。​ 可以发现,颜色缓冲经过模......
  • 15款最佳的HTML5移动模板
    如果你需要响应式和前端开发,那么HTML5是你务必要学会的Web开发语言。我们在Codecondo上发布的HTML5相关文章依然很受欢迎。例如:为HTML5开发者准备的40个工具、针对HTML5的Web框架,你一定要看看它们,我也相信它们会成为你书签的其中之一。当人们上网搜索登陆页面的时候,他们大多是寻......
  • P3378 【模板】二叉堆
    [洛谷]P3378【模板】堆方法一手写堆最小堆插入从新增的最后一个结点的父结点开始,用要插入元素向下过滤上层结点(相当于要插入的元素向上渗透)voidsiftdown(inti)//传入一个需要向下调整的结点编号i,这里传入1,即从堆的顶点开始向下调整{intt,flag=0;//flag用来标......
  • 洛谷题解——【模板】堆
    题目链接:【模板】堆【模板】堆题目描述给定一个数列,初始为空,请支持下面三种操作:给定一个整数\(x\),请将\(x\)加入到数列中。输出数列中最小的数。删除数列中最小的数(如果有多个数最小,只删除\(1\)个)。输入格式第一行是一个整数,表示操作的次数\(n\)。接下来\(n\)......