一. 威尔逊定理

当p为素数时,(p-1)!= -1(mod p)

其逆定理也成立,移项得:(p-1)! + 1 整除 p

二. 费马小定理

当gcd(a,p)= 1且p为素数时,a ^(p-1)= 1(mod p)

而a ^ 0 = 1(mod p),因此存在长度为p-1的循环节,费马降幂:a ^ b mod p = a ^(b mod p-1)mod p

三. 欧拉定理

当gcd(a,m)= 1时,

为小于m且与m互质数的个数,费马小定理就是欧拉定理的一种特殊情况

四. 裴蜀定理

任意对两个整数 A,B,设d它们的最大公约数

当且仅当m是d的倍数时,ax + by = m才有整数解

扩展欧几里得算法求解即可

1)计算

先说明函数是积性函数,对于积性函数,若gcd(m,n)= 1,则 

②对于素数p,在1到p ^ k中p,2p,3p ......(p ^ k-1),(k-1)个数与p ^ k不互质,因此

根据唯一分解定理,(pi为m的质因子),再根据上述两点得到

2)计算1到m所有数的欧拉值(欧拉筛+积性函数)

void Get_Eular()
{int n = 0;phi[1] = 1;  for(int i=2;i<maxn;++i){if(!phi[i])             //i为素数{phi[i] = i-1;       prime[n++] = i;}for(int j=0; j<n&&i*prime[j]<=maxn;++j){if(i%prime[j]==0){phi[i*prime[j]] = phi[i]*prime[j]; //i*prime[j]的素因子和i是一样的,只相当与上文中的m扩大了break;}else phi[i*prime[j]] = phi[i]*phi[prime[j]];//积性函数的性质,i与prime[j]互质}}
}

3)欧拉因子求和

假设n的因子为d1,d2 ...... di,则欧拉函数和F(n)也是积性函数,对于素数p,那么p ^ k的因子就有p,p ^ 2,p ^ 3 ...... p ^ k,再结合公式②,得到,根据唯一分解定理,,有F(m)

4)互质数的和

在小于m的数中,与m互质的数的总和为: ,首先要知道若n与m互质,则m-n与m互质,所以在m> 1时,与m互质的数总是一对一对的出现,且每一对的和为m,总共

5)欧拉广义降幂

不难发现:

当满足gcd(A,P)= 1时 , ,所以a^b:

(1)所以有:

(2)求 a ^ x % p,当 p 为质数时,如果 a 是 p 的倍数,直接输出0,否则可以直接降幂,即:x%phi(p),因为此时gcd(a,p) = 1

四. 欧拉广义降幂应用

1. BZOJ 3884

描述:

解:

观察上面的欧拉降幂就会发现这是一个递归,当phi()函数值为1时就递归结束,因为任何数对1取余都等于0,而幂为无穷,恒满足,所以:

代码:

#include<iostream>
using namespace std;
typedef long long LL;
LL Eular(LL p)   //计算p的欧拉值
{LL ans = p;for(int i=2;i*i<=p;++i){if(p%i==0){ans = ans - ans/i;while(p%i==0)p /= i;}}if(p>1) ans = ans - ans/p;return ans;
}
LL quick_pow(LL a,LL x,LL p)
{LL ans = 1;while(x){if(x&1) ans = ans*a%p;a = a * a % p;x >>= 1;}return ans;
}
LL cal(LL p)
{LL mod = Eular(p);if(mod==1) return quick_pow(2,0+1,p);return quick_pow(2,cal(mod)+mod,p);
}
int main()
{LL p,t;cin>>t;while(t--){cin>>p;cout<<cal(p)<<endl;}
}

五. 经典例题

1.  HDU 2973   (威尔逊定理)

2.  HDU 3501   (互质数的和)

3.  ICPC焦作网络赛(费马降幂)

4.  codefores  (欧拉降幂)

5.  HDU 3221(欧拉降幂)

6.  牛客网  (裴蜀定理)

7. Codeforces Round#454(Div.1)D.Power Tower(欧拉降幂)

六. 说明

关于F(n)的的积性函数的证明

关于披(N)的积性函数的证明

关于欧拉降幂的证明

个人认为证明过程没必要过多纠结!

数论基本定理和欧拉广义降幂公式相关推荐

  1. Summer Training day4上帝与集合的正确用法 欧拉函数+降幂公式

    这个题的指数太大了,因此要考虑用降幂公式进行降幂 记f(p) = 2^2^2... % p f(p) = 2^(2^2^2...%phi(p) + phi(p)) % p = 2^(f(phi(p)) ...

  2. 3884: 上帝与集合的正确用法 欧拉函数+降幂公式

    Orz题解 降幂公式:a^x ≡a^(x modϕ(p)+ϕ(p)) (mod p) #include<iostream> #include<cstdio> #include& ...

  3. 数论 - 分解质因数+欧拉函数 - Relatives POJ - 2407

    数论 - 分解质因数+欧拉函数 文章目录 数论 - 分解质因数+欧拉函数 一.分解质因数 二.欧拉函数 三.模板: Relatives POJ - 2407 一.分解质因数 由 算 术 基 本 定 理 ...

  4. ​为何欧拉的质数公式会扰乱世界?

    全文共1357字,预计学习时长4分钟 来源:Pexels 质数是现代加密学的基础. 原因很简单:到目前为止,人类还不了解它们的数学本质.但是,一旦揭开质数的神秘面纱,世界将发生巨大变化. 今天,小芯将 ...

  5. 数论讨伐!欧拉函数!

    [欧拉函数] 任务开始. 什么是欧拉函数?我们又怎么求呢??? 此次任务的主要怪物:欧拉函数 (1)欧拉函数定义 欧拉函数嘛,当然是我们著名的莱昂哈德·欧拉发明的啦~那么他是怎么定义介个函数滴? 咳咳 ...

  6. 【BZOJ2818】Gcd,数论练习之欧拉筛

    传送门 写在前面:比较简单的数论题目了 思路:对i来说,所有与i互质的数和i都乘同一个质数p,那么得到的两个数的gcd一定是p,所以我们就可以利用这个来搞一搞了,对1-n的phi预处理出来(欧拉筛), ...

  7. 陕西师范大学第七届程序设计竞赛网络同步赛 J 黑猫的小老弟【数论/法拉数列/欧拉函数】...

    链接:https://www.nowcoder.com/acm/contest/121/J 来源:牛客网 题目描述 大家知道,黑猫有很多的迷弟迷妹,当然也有相亲相爱的基友,这其中就有一些二五仔是黑猫的 ...

  8. 数论数学:欧拉恒等式的证明

    今天突然想到我应经写过泰勒展开了! 正好又遇到了欧拉恒等式,就顺便在博客上记录一下啦.. 题目: 试 证 明 : e π i + 1 = 0 试证明:e^{\pi i}+1=0 试证明:eπi+1=0 ...

  9. jzoj1164-求和【欧拉函数,数论】(筛欧拉函数模板)

    正题 大意 给出一个nnn,求1∼n" role="presentation" style="position: relative;">1∼n1 ...

  10. 第二十六章 数论——欧拉函数(详解与证明)

    第二十六章 数论--欧拉函数(详解与证明) 欧拉函数 1.互质 2.欧拉函数的定义 3.欧拉函数的公式 4.欧拉函数的证明 5.欧拉函数的使用 (1)问题一: 思路 代码 (2)问题二: 思路 cas ...

最新文章

  1. 2018.12.13待填之坑
  2. c++ class struct同名_第二课C到C++的关系
  3. IIS异常:CS0016: 未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\.。。”--“拒绝访问...
  4. Oracle宣布终止所有Intel Itanium平台上的软件开发
  5. Java设计模式(七):适配器设计模式
  6. jQuery 学习之路(1):引子
  7. ROI Pooling层解析
  8. Python PIPEs
  9. vue 组件属性监听_vuejs组件内的对象属性监听问题
  10. python替换文件内容_使用python替换文件内容
  11. .NET中异常类(Exception)
  12. 远程连接Linux系统
  13. C语言两个数比较大小和三个数比较大小,代码
  14. Apache JMeter使用教程
  15. 如何对 List集合进行排序
  16. autoshape很多 excel_怎样清除excle中Autoshape_ExceL批注属性批量修改宏代码�9�3
  17. python-patterns
  18. html中input type什么意思,HTML中type是什么意思
  19. MT【306】圆与椭圆公切线段
  20. SLAM【十一】建图

热门文章

  1. Unity支持的C#版本
  2. 复旦美女学霸张安琪的五个“神迹”和背后的真实故事
  3. Periodic Strings (求HoHoHo字符串最小周期)
  4. css实现超过两行用...表示
  5. 教你快速缩小多个横屏短视频画面的两种方法
  6. SF58-ASEMI快恢复二极管SF58的发展意义
  7. Halcon 毛刺检测
  8. 卫星导航系统的发展历史
  9. B端硬件产品需求评审
  10. 餐厅扫码点餐怎么弄_分享扫码点餐小程序开发制作方法