大数幂运算   指数太大的时候  我们需要进行降幂操作

首先呢 认识欧拉定理之前 先了解一下欧拉函数      链接     欧拉函数

欧拉定理

我们将欧拉函数写作 

欧拉定理就是  a n为正整数 且 a  n  互质   那么 (mod  n)

那么根据欧拉定理的式子  我们可以转化为  %n 1

那么既然 在mod n的情况下  恒等于 1

那么就得到了我们用来降幂的公式     (mod n)

扩展欧拉定理

扩展呢就是把互质推广到所有情况嘛
如果欧拉定理中的 a n不互质了  则有如下公式

降幂

如果a n互质  我们就根据欧拉定理降幂

(mod n)

如果不互质   我们就根据扩展欧拉定理降幂

我们在求 % n  的时候 可以通过判断  来转成上面的两个式子之一

就完成降幂了

练习题目的话

牛客寒假算法基础集训营4 E题

代码

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
typedef long long ll;
const int maxn=1e6+7;
const int mod=1e9+7;
char a[maxn],b[maxn];
ll pow_mod(ll x,ll n){ll ans=1;x=x%mod;while(n!=0){if(n&1)ans=ans*x%mod;n>>=1;x=x*x%mod;}return ans;
}
int main(){//先通过欧拉函数 计算出mod 的欧拉函数是 1000000006 也就是mod-1scanf("%s%s",a,b);int l=strlen(a);ll n=0;for(int i=0;i<l;i++){n=(n*10+a[i]-'0')%(mod-1);//所以这里使用 mod-1 降幂}printf("%lld\n",pow_mod(2,n));return 0;
}

欧拉定理以及欧拉降幂相关推荐

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

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

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

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

  3. 数学--数论--欧拉降幂--P5091 欧拉定理

    题目背景 出题人也想写有趣的题面,可惜并没有能力. 题目描述 给你三个正整数,a,m,ba,m,ba,m,b,你需要求:ab mod ma^b \bmod mabmodm 输入格式 一行三个整数,a, ...

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

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

  5. 欧拉降幂和广义欧拉降幂

    先百度贴个欧拉定理 由此可以得到降幂公式 第一个要求a和p互质,第二个和第三个是广义欧拉降幂,不要求a和p互质,但要求b和的大小关系. 那么有了这个公式先写个题目 bzoj3884 题意:求2^(2^ ...

  6. 欧拉降幂 ---- 2020 杭电多校[E - Fibonacci Sum]+欧拉降幂+和式的调整+二次剩余+毒瘤卡常

    解题思路: 首先你得知道斐波那契的通项式子:首先你得知道斐波那契的通项式子:首先你得知道斐波那契的通项式子: F(n)=15[(1+52)n−(1−52)n]F(n) = {1\over\sqrt5} ...

  7. 欧拉降幂及其扩展欧拉降幂

    欧拉降幂: 从公式来看,需要使用快速幂运算和欧拉函数 #include<bits/stdc++.h>using namespace std; typedef __int64 LL;cons ...

  8. 欧拉降幂(Euler_Power_Formula)

    一.欧拉降幂公式 二.证明 欧拉降幂公式与证明 三.例题 https://ac.nowcoder.com/acm/contest/330/E 四.参考文章 https://blog.csdn.net/ ...

  9. 2019ICPC(南京) - super_log(欧拉降幂)

    题目链接:点击查看 题目大意:求(a^a^a^a....^a)%mod,其中有b个a 题目分析:一道数论题,被我们做成了模拟题..首先因为涉及到指数并且指数都还比较大,所以需要知道一个降幂公式: 我们 ...

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

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

最新文章

  1. 强化学习常用算法+实际应用 ,必须get这些核心要点!
  2. R语言偏相关或者部分相关性系数计算实战:使用psych包计算(Partial Correlation)偏相关或者部分相关性系数并用建设检验检验相关性的显著性
  3. python3语法错误-【Python3之异常处理】
  4. IDEA运行第一个Spring Boot应用程序
  5. 一文看懂:BTS5210G 智能高侧电源开关
  6. 创建DLL、Lib以及使用DLL、Lib
  7. const参数,const返回值与const函数
  8. Android 系统(265)----Android进程保活全攻略(上)
  9. Vue 3 最新进展
  10. php flush 逐行显示_PHP逐行输出(ob_flush与flush的组合)
  11. 漫画:有趣的 “切蛋糕“ 问题
  12. gin-控制器分组:
  13. 传输线路动态巡检探索
  14. hspice linux 软件,Hspice 200803 linux安装(亲测可行)
  15. MATLAB-马尔可夫链(马氏链)模型
  16. pandas 学习task08文本数据
  17. Maven插件 [WARNING] 'parent.relativePath' of POM 类似警告处理
  18. Vision Transformer | CVPR 2022 - Beyond Fixation: Dynamic Window Visual Transformer
  19. 亲民地理35期-雨中登泰山
  20. 关于Docker以及安装方法

热门文章

  1. proxy_set_header的设置
  2. andrioid 图像视频处理
  3. github使用介绍
  4. this installer requires you to restart your system to finish installing Microsoft VC
  5. 在线思维导图工具-toolfk程序员在线工具网
  6. 美图个性化推荐的实践与探索
  7. Linux LVM的PV操作
  8. HackTheGame 攻略 - 第九关
  9. Microsoft SharePoint Server 2010 简体中文版及相关资源
  10. 安卓开发 给控件左边右边下边添加阴影_使用鸿蒙开发一款TV版的小游戏