费马定理&欧拉定理

费马定理:

ap≡a(mod p)

其中p为质数,且a不是p的倍数

证明:

。。。。。

欧拉定理:

aφ(p)≡1(mod p)

φ(x)(欧拉函数)为小于等于x且与x互质的数的个数

φ(x)=∏(pi-1)*piki-1  其中pi表示 x的质因数,ki表示这种质因数的个数

特别的对于质数  φ(x)=x-1。

欧拉函数的代码实现:

 1 #include<cstdio>
 2 #include<Iostream>
 3 using namespace std;
 4 int ol(int x)
 5 {
 6       int ans=1;
 7       for(int i=2;i*i<=x;++i)
 8       {
 9           if(x%i==0)
10          {
11              x/=i;
12              ans*=i-1;
13          }
14          while(x%i==0)
15         {
16             x/=i;
17              ans*=i;
18          }
19      }
20      if(x>1) ans*=x-1;
21      return ans;
22  }
23  int main()
24  {
25      int a;
26      scanf("%d",&a);
27     printf("%d",ol(a));
28      return 0;
29  }

最后函数里那个如果x>1,ans*=x-1一开始让我很懵,后来一想,如果这个数将所有的质因数除过一遍之后,剩下的数如果不是1,那么剩下的肯定只有一个并且是个质数(证明很显然)

原文地址:https://www.cnblogs.com/wxyww/p/9275317.html

时间: 2024-09-21 00:48:23

费马定理&欧拉定理的相关文章

欧拉定理与费马定理,离散对数定理

费马小定理是数论中的一个定理: 假如a是一个整数,p是一个质数,那么是p的倍数,可以表示为 如果a不是p的倍数,这个定理也可以写成 这个书写方式更加常用. 欧拉定理(也称费马-欧拉定理或欧拉函数定理)是一个关于同余的性质.欧拉定理表明,若为正整数,且互素(即),则 即与1在模n下同余:φ(n)为欧拉函数.欧拉定理得名于瑞士数学家莱昂哈德·欧拉. 如果p是素数,那么 欧拉定理与费马定理,离散对数定理

数论 (大数,小费马定理,欧拉定理,威尔逊定理,快速数论变换(NNT)模版)

1 Java大数 2 import java.util.*; 3 import java.math.*; 4 public class Main{ 5 public static void main(String args[]){ 6 Scanner cin = new Scanner(System.in); 7 BigInteger a, b; 8 9 //以文件EOF结束 10 while (cin.hasNext()){ 11 a = cin.nextBigInteger(); 12 b

HDU 4704 欧拉定理

题目看了很久没看懂 就是给你数n,一种函数S(k),S(k)代表把数n拆成k个数的不同方案数,注意如n=3,S(2)是算2种的,最后让你求S(1~n)的和模1e9+7,n<=1e100000.那么其实一个S(k)就是把n个小球放到k-1个盒子里的种类数,求和也就是求个$2^{n-1}$. n超大,但是模数只有1e9+7,用欧拉定理就行了. /** @Date : 2017-09-12 18:41:59 * @FileName: HDU 4704 欧拉定理 降幂.cpp * @Platform:

XMU 1615 刘备闯三国之三顾茅庐(三) 【欧拉函数+快速幂+欧拉定理】

1615: 刘备闯三国之三顾茅庐(三) Time Limit: 1000 MS  Memory Limit: 128 MBSubmit: 45  Solved: 8[Submit][Status][Web Board] Description 刘备(161年-223年6月10日),字玄德,东汉末年幽州涿郡涿县,西汉中山靖王刘胜的后代.刘备一生极具传奇色彩,早年颠沛流离.备尝艰辛最终却凭借自己的谋略终成一方霸主.那么在那个风云激荡的年代,刘备又是如何从一个卖草鞋的小人物一步一步成为蜀汉的开国皇帝呢

Description has only two Sentences(欧拉定理 +快速幂+分解质因数)

Description has only two Sentences Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 124 Accepted Submission(s): 55   Problem Description an = X*an-1 + Y and Y mod (X-1) = 0.Your task is to calculat

【数学基础】【欧拉定理模板】【费马小定理】

费马小定理:当p是一个质数时,且a和p互质,有ap-1=1(mod p) (欧拉定理的一种特殊情况) 欧拉定理:如果a和n互质,那么aφ(n)=1(mod n) 对于任意a,b,n就有 ab=aφ(n)+b mod φ(n)(mod n) 处理b数值较大的情况 ,采用分治思想,复杂度为O(logn) int mod = n; int fastpow(int a,int b) { long long ret = 1; tmp = a; while(b) { if(b&1) ret = ret*tm

费马定理证明的新方法

费马定理:Xn+Yn=Zn(n>=3)时,且X,Y,Z同时为正整数,等式不成立. 12=   1    13=    1    14=     122=   4    23=    8    24=    1632=   9    33=   27    34=    8142=  16    43=   64    44=   25652=  25    53=  125    54=   62562=  36    63=  216    64=  129672=  49    73=  3

UVA 10213 How Many Pieces of Land? 欧拉定理

欧拉定理 V-E+F=C+1 Problem G How Many Pieces of Land? Input: Standard Input Output: Standard Output Time Limit: 3 seconds   You are given an elliptical shaped land and you are asked to choose n arbitrary points on its boundary. Then you connect all these

POJ 3358 Period of an Infinite Binary Expansion( 数论好题 + 欧拉定理 + 欧拉函数 )

POJ 3358 Period of an Infinite Binary Expansion( 数论好题 + 欧拉定理 + 欧拉函数 ) #include <cstdio> #include <cstring> #include <algorithm> #include <algorithm> using namespace std; typedef long long LL; LL fac[ 100000 ], pf; LL gcd( LL a, LL