欧拉定理(洛谷-P5091)(十进制快速幂实现)
题目描述
给你三个正整数,a,m,b,你需要求:a^b mod m
输入输出格式
输入格式:
一行三个整数,a,m,b
对于全部数据:
1≤a≤10^9
1≤b≤10^{20000000}
1≤m≤10^6输出格式:
一个整数表示答案
输入输出样例
思路:指数最大到 20000000,没有超出 long long 的范围,可以直接利用十进制快速幂来做
源代码
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#include<bitset>
#define EPS 1e-9
#define PI acos(-1.0)
#define INF 0x3f3f3f3f
#define LL long long
#define Pair pair<int,int>
const int MOD = 31011;
const int N = 20000000+5;
const int dx[] = {0,0,-1,1,-1,-1,1,1};
const int dy[] = {-1,1,0,0,-1,1,-1,1};
using namespace std;char b[N];
LL tenthPow(LL a,LL len,LL mod) {LL res=1;while(len>=0){LL cnt=b[len]-'0';LL cur=a;for(int i=1; i<=cnt; i++)res=res*a%mod;for(int i=1; i<10; i++)cur=cur*a%mod;//进位a=cur;res%=mod;len--;}return res;
}
int main(){LL a,mod;scanf("%lld",&a);scanf("%lld",&mod);scanf("%s",b);//字符串读入指数LL len=strlen(b);LL res=tenthPow(a,len-1,mod);printf("%lld\n",res);return 0;
}
欧拉定理(洛谷-P5091)(十进制快速幂实现)相关推荐
- 洛谷 | P1226 【快速幂】
快速幂 题目链接 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 时空限制 时间:1000ms 空间:128MB 代码 #include < ...
- 10.02 T3 打表找递推式+十进制快速幂 九校联考凉心模拟DAY1T1
题目背景 金企鹅同学非常擅长用1*2的多米诺骨牌覆盖棋盘的题.有一天,正 在背四六级单词的他忽然想:既然两个格子的积木叫"多米诺(domino)",那 么三个格子的的积木一定叫&q ...
- (十进制快速幂+矩阵优化)BZOJ 3240 3240: [Noi2013]矩阵游戏
题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=3240 3240: [Noi2013]矩阵游戏 Time Limit: 10 Sec M ...
- 欧拉定理(洛谷-P5091)(扩展欧拉定理实现)
题目描述 给你三个正整数,a,m,b,你需要求:a^b mod m 输入输出格式 输入格式: 一行三个整数,a,m,b 对于全部数据: 1≤a≤10^9 1≤b≤10^{20000000} 1≤m≤1 ...
- 洛谷 P5091 【模板】欧拉定理
题目 题目描述 给你三个正整数,a,m,ba,m,b,你需要求: a^b \bmod mabmodm 输入格式 一行三个整数,a,m,ba,m,b 输出格式 一个整数表示答案 输入输出样例 输入 #1 ...
- 快速幂、快速乘、矩阵快速幂
文章目录 一 快速幂 模板 模板例题 二 快速乘 模板 三 矩阵快速幂 例题 模板题 应用题1 应用题2 一 快速幂 目的:当我们在求f(x) = a ^ x % mod时,f(x)的结果会呈指数型增 ...
- 快速幂(二进制,十进制)
矩阵快速幂: #include<iostream> #include<cstdio> #include<cstring>using namespace std; t ...
- 洛谷 1226 取余运算||快速幂
洛谷 取余运算||快速幂 1226 其实比起楼下的大佬们,我主要是多了些位运算和讲解. 想法一: 直接输出 pow(b,q)%k 嗯~~勇气可嘉,但是看一眼数据范围(长整型)就会意识到,这个方法也许 ...
- 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)
题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...
最新文章
- acegi,IBM的Acegi Security System(1)
- Ubuntu下常用命令
- LeetCode LCP 06. 拿硬币
- 【性能测试】性能需求挖掘、性能方案制定及压测场景设计之疑惑与思考(一)
- sql 时态表的意义_SQL Server中的时态表
- 使用HTML和CSS格式化DBMail
- Flutter代码锦囊---自定义曲线裁剪
- RuntimeWarning: coroutine ‘ClientResponse.text‘ was never awaited self._context.run(self._callback)
- django 项目中使用项目环境制作脚本 通过终端命令运行脚本文件(management/commands)...
- 查找Linux系统中某个软件是否安装/存在
- 【转】BAT机器学习面试1000题系列
- SAP错误消息调试之七种武器:让所有的错误消息都能被定位
- java encapsulation_Java Encapsulation vs Abstraction
- 7.11 不区分大小写的匹配
- 使用Java处理键盘输入(DTMF)
- sublime text3 字体样式_Sublime Text3 Github最受欢迎主题字体推荐!
- 图解TCP/IP网络知识轻松入门 读书笔记(五)
- 利用python处理pdf文本_Python用于NLP :处理文本和PDF文件
- 昆石VOS3000_2.1.4.0安装脚本
- 博达路由器如何配置互联网ip_博达路由器操作命令