题目背景

出题人也想写有趣的题面,可惜并没有能力。

题目描述

给你三个正整数,a,m,ba,m,ba,m,b,你需要求:ab mod ma^b \bmod mabmodm

输入格式

一行三个整数,a,m,ba,m,ba,m,b

输出格式

一个整数表示答案

输入输出样例

输入 #1 复制

2 7 4

输出 #1 复制

2

输入 #2 复制

998244353 12345 98765472103312450233333333333

输出 #2 复制

5333

说明/提示

注意输入格式,a,m,ba,m,ba,m,b 依次代表的是底数、模数和次数

【样例 111 解释】
24 mod 7=22^4 \bmod 7 = 224mod7=2

【数据范围】
对于 100%100\%100% 的数据,1≤a≤1091\le a \le 10^91≤a≤109,1≤b≤1020000000,1≤m≤1081\le b \le 10^{20000000},1\le m \le 10^81≤b≤1020000000,1≤m≤108。

这个题是模板欧拉降幂

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll a,m,b;inline ll read(ll m){register ll x=0,f=0;char ch=getchar();while(!isdigit(ch)) ch=getchar();while(isdigit(ch)){x=x*10+ch-'0';if(x>=m) f=1;x%=m;ch=getchar();}return x+(f==1?m:0);
}ll phi(ll n){ll ans=n,m=sqrt(n);for(ll i=2;i<=m;i++){if(n%i==0){ans=ans/i*(i-1);while(n%i==0) n/=i; }}if(n>1) ans=ans/n*(n-1);return ans;
}ll fast_pow(ll a,ll b,ll p){ll ret=1;for(;b;b>>=1,a=a*a%p)if(b&1) ret=ret*a%p;return ret;
}int main()
{scanf("%lld%lld",&a,&m);b=read(phi(m));printf("%lld\n",fast_pow(a,b,m));return 0;
}

数学--数论--欧拉降幂--P5091 欧拉定理相关推荐

  1. 数学--数论--欧拉降幂和广义欧拉降幂(实用好理解)

    一般大佬会给你证明,而菜鸟会教你怎么使用. 先摆上公式: ab≡{abmodϕ(p)gcd(a,p)=1abgcd(a,p)≠1,b<ϕ(p)abmodϕ(p)+ϕ(p)gcd(a,p)≠1,b ...

  2. 费马定理中值定理_数论-欧拉函数、欧拉定理

    欧拉函数 积性函数 满足 ( 互质) 定义 对于正整数 ,欧拉函数是小于等于 的所有数中与 互质的数的 个数. 欧拉函数是积性函数(这个证明不是很显然,这个链接里面有很多种证明方法) 记作: 公式 , ...

  3. 数学--数论---欧拉筛 模板

    ACM常用模板合集 typedef long long ll; bool ok[maxn]; int prime[maxn],phi[maxn],cnt; void sieve() { phi[1]= ...

  4. 数论学习六之——欧拉定理(欧拉降幂)

    我们现在就来学习数论四大定理中的最后一个定理,欧拉定理. 首先我们先介绍一下什么是欧拉函数,欧拉函数 φ ( n ) \varphi(n) φ(n)求的是不超过n且与n互素的正整数的个数,例如: φ ...

  5. 数学--数论--广义欧拉降幂(模板)

    未使用欧拉筛: 适用于较少次数计算的欧拉降幂. #include <bits/stdc++.h> #define ll long long using namespace std; ll ...

  6. 欧拉函数+欧拉定理+拓展欧拉定理(欧拉降幂)

    目录 欧拉函数 欧拉定理 拓展欧拉定理(欧拉降幂) 欧拉函数 在数论中,有正整数n,欧拉函数是小于n的正整数中与n互质的数的数目. 它的通式如下: φ(n)=n*(1-1/p1)*(1-1/p2)*( ...

  7. [数学][欧拉降幂定理]Exponial

    Exponial 题目 http://exam.upc.edu.cn/problem.php?cid=1512&pid=4 欧拉降幂定理:当b>phi(p)时,有a^b%p = a^(b ...

  8. hdu1395 数论 欧拉函数

    hdu1395 数论   欧拉函数 对于给出的每一个n 求最小正整数 x 满足 2^x mod n = 1 1.如果给出的n 是偶数或者 1 则一定无解 2.如果是奇数 首先根据欧拉定理 我们可知 p ...

  9. 欧拉φ函数和欧拉降幂公式

    欧拉φ函数:在数论中,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为φ函数.欧拉商数等.φ(1)=1 C++实现: int GetEuler(i ...

最新文章

  1. 基于TensorRT 3的自动驾驶快速INT8推理
  2. [YTU]_2008( 简单编码)
  3. CNN-3: VGGNet 卷积神经网络模型
  4. 自学编程成功概率有多少可能
  5. RANSAC算法注记
  6. 关于Activity的getReferrer():如何在Activity中获取调用者?
  7. php layui 上传文件,laravel使用layui 上传文件 支持pdf上传
  8. 2019年春季第七周 编程总结
  9. 极简版ASP.NET Core学习路径及教程
  10. emcee——Quickstart
  11. 穿越火线显示无法连接服务器,穿越火线无法连接服务器是什么原因
  12. 坐标求四面体体积_「体积公式」四面体体积公式 - seo实验室
  13. tplink怎么进去_在TP-Link工作体验如何?
  14. 回顾使用云桌面的那些经验
  15. linux系统下操作nandflash指令,Linux驱动之Nand Flash原理及硬件操作
  16. nginx url实现二次转发
  17. RISC-V基金会董事谭章熹:RISC-V,从边缘逐渐向中央扩展
  18. next、nextInt、nextDouble、nextFloat和nextLine的区别。
  19. 【网站建设】搭建简单动态网站
  20. 第二类换元法三角代换的万能代换

热门文章

  1. linux 程序返回值 139,Linux系统监控之ssh登陆自动139邮件短信提醒
  2. java生成excel文件
  3. oracle 10g real application clusters introduction (RAC原理)
  4. 第三篇——第二部分——第一文 SQL Server镜像简介
  5. Android多线程研究(8)——Java中的原子性理解
  6. 崽崽的发烧终于快结束了
  7. Linux服务器的架设 (DHCP,NIS,SAMBA,FTP,DNS)
  8. 北京XXX学院WLAN项目现场勘查报告
  9. 比尔-盖茨写给即将走出学校、踏入社会的青年一代的11点忠告
  10. c语言管理系统的数据存放,编的学生成绩管理系统 从文件中读取保存数据总会多读入一组乱码数据...