数论一(欧拉函数+费马小定理)

一、欧拉函数

1、定义:对于正整数n,欧拉函数φ(x)是求小于n中与n互质的数字的数目。

2、公式:

φ(x)=x(1-1/p(1))(1-1/p(2))(1-1/p(3))(1-1/p(4))…..(1-1/p(n)) 其中p(1),p(2)…p(n)为x

的所有质因数;x是正整数; φ(1)=1(唯一和1互质的数,且小于等于1)。注意:每种质因数只有一个。

3、代码实现:

//求小于等于n且与n互质的数字的个数
int Euler(int n)
{
    int i,ans=n;
    for(i=2;i<=sqrt(n);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;
}
//筛选1-n之间每个数的质因数的个数
void Init(int n)
{
    memset(euler,0,sizeof(euler));
    euler[1]=1;
    for(int i=2;i<n;i++)
        if(!euler[i])
        {
            for(int j=i;j<n;j+=i)
            {
                if(!euler[j]) euler[j]=j;
                euler[j]=euler[j]/i*(i-1);
            }
        }
} 

参考文章:传送门

二、费马小定理

1、内容:

假如p是质数,a与p为互质数,则a的p-1次方除以p的余数恒等于1 。

参考文章:传送门

原文地址:https://www.cnblogs.com/2018zxy/p/10313720.html

时间: 2024-11-03 06:58:32

数论一(欧拉函数+费马小定理)的相关文章

「数论基础」欧拉定理(费马小定理)

在阅读本篇之前,如果还不熟悉欧拉函数,可以参见另一篇介绍欧拉函数的「数论基础」欧拉函数. 定义:对于互质的两个正整数$a, n$,满足$a^{φ(n)} ≡ 1\  (mod\ n)$ 证明: 设集合$S$包含所有$n$以内与$n$互质的数,共有$φ(n)$个:     $S = \{ x_1, x_2, ..., x_{φ(n)} \} $ 再设集合$T$: $T = \{ a * x_1 \% n, a * x_2 \% n, ..., a * x_{φ(n)} \% n \} $ 由于$

欧拉函数定义-性质-应用(费马小定理)

典型例题:51nod  1135  原根 设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根.(其中φ(m)表示m的欧拉函数) 给出1个质数P,找出P最小的原根. Input 输入1个质数P(3 <= P <= 10^9) Output 输出P最小的原根. Input示例 3 Output示例 2 欧拉公式:含义:欧拉函数就是指:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 通式: 其中p1, p2--pn为x的所有质因数,x是不为0的整数 φ

费马小定理,欧拉函数

在证明这些定理之前先证明一个有意思的定理. 对于0 mod m,n mod m , 2n mod m, 3n mod m, 4n mod m... (m-1)n mod m 对应解集序列 一定有 m/d份 0 d 2d 3d..m-d. (不一定按照顺序) 这样的解. 其中d = gcd(n,m) 具体点:n=8,m=12.  d = gcd(n,m)=4 对于 0 mod 12,8 mod 12,16 mod 12,24 mod 12,32 mod 12,40 mod 12...88 mod

费马小定理及欧拉函数

2016.1.26 对于m=p1e1 . p2e2 . p3e3 . …… . pnen 欧拉函数定义为φ(m)=m * ∏(pi – 1)/pi 其意义为不超过m并且和m互素的数的个数 特别的φ(1)=1 对于和m互素的x,有xφ(m)≡1(mod m) 特别的,当p为素数时,x无法被p整除,φ(p)=p-1,于是便有费马小定理Xp-1≡1(mod p) 在p是素数时,对任意正整数x都有Xp≡X(mod p) 于是对于a的逆元x,有ax≡1(mod m),对于a,m互素时,有x=am-2,于是

欧拉函数、欧拉定理和费马小定理

对于正整数n,欧拉函数是小于等于n的正整数中与n互质的数的数目,表示为φ(n). 性质1:对于素数p,φ(p)=p-1. 性质2:对于两个互质数p,q,φ(pq)=φ(p)*φ(q)=(p-1)(q-1).(积性函数)(待证) 性质3:若n是质数p的k次幂,φ(n)=pk-pk-1=(p-1)pk-1,因为除了p的倍数外,其他数都跟n互质. 性质4: 因为:x可以分解成p1q1×p2q2×p3q3--×pnqn (pi为x的质因数) 因为piqi两两互质,所以:φ(x)=φ(p1q1)×φ(p2

【日常学习】乘法逆元&amp;&amp;欧拉定理&amp;&amp;费马小定理&amp;&amp;欧拉函数应用&amp;&amp;常大学霸

转载请注明出处 [ametake版权所有]http://blog.csdn.net/ametake欢迎来看看 今天花了一个多小时终于把乘法逆元捣鼓明白了 鉴于我拙计的智商抓紧把这些记录下来 在此本栏目鸣谢里奥姑娘和热心网友himdd的帮助和支持 那么正文开始··· 逆元是干什么的呢? 因为(a/b)mod p ≠(a mod p)/(b mod p) 我们需要想一种方法避免高精 那就是把除法转化为乘法 因为(a*b) mod p = ( a mod p ) *( b mod p ) 怎么转化呢?

HDOJ M斐波那契数列 4549【矩阵快速幂+快速幂+费马小定理+欧拉函数】

M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 2096    Accepted Submission(s): 596 Problem Description M斐波那契数列F[n]是一种整数数列,它的定义如下: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) 现在给

费马小定理是数论的基础理论之一

费马小定理 关于费马小定理,读到注解的时候,还是有点震撼的. 皮埃尔•得•费马(1601-1665)是现代数论的奠基人,他得出了许多有关数论的重要理论结果,但他通常只是通告这些结果,而没有提供证明.费马小定理是在1640年他所写的一封信里提到的,公开发表的第一个证明由欧拉在1736年给出(更早一些,同样的证明也出现在莱布尼茨的未发表的手稿中)费马的最著名结果——称为费马的最后定理——是l637年草草写在他所读的书籍<算术>里(3世纪希腊数学家丢番图所著),还带有一句注释“我已经发现了一个极其美

费马小定理【数论】

假如p是质数,且gcd(a,p)=1,那么 a(p-1)≡1(mod p) 例如:假如a是整数,p是质数,则a,p显然互质(即两者只有一个公约数1),那么我们可以得到费马小定理的一个特例,即当p为质数时候, a^(p-1)≡1(mod p). 首先看一个基本的例子. 令a = 3,n = 5,这两个数是互素的. 比5小的正整数中与5互素的数有1.2.3和4,所以φ(5)=4(详情见[欧拉函数]). 计算:a^{φ(n)} = 3^4 =81,而81= 80 + 1 Ξ 1 (mod 5).与定理