数论1

数论笔记

φ(n)

普通求法:

首先将n唯一分解为$n=x_1{p_1}*x_2……*x_n^{p_n} $

φ(n)=n(11x1)(11x2)(11xn)

证明:

首先我们考虑在所有数中有1x的概率会取到一个数是x的倍数,那么有(11x)的概率会取到一个数不是x的倍数,1-n有n个数,我们要找到1-n所有与n互质的数,也就是去一个不是 n 的任意一个因数 (x1,x2,x3xn) 的倍数,就得到以上式子

线性求 φ(1)φ(n) 的所有

首先我们先明白两个定理:

1.{φ(nm)=φ(n)φ(m)     gcd(n,m)=1φ(nm)=φ(n)m           gcd(n,m)=m

gcd(n,m)=1 条件下

定理1证明:
根据上述式子可以推导:
$n=x_1{p_1}*x_2……x_n^{p_n} m=y_1{q_1}*y_2……y_n^{q_n} nm=x_1{p_1}*x_2……x_n{p_n}*y_1*y_2{q_2}……*y_n $

φ(nm)=nm(11x1)(11xn)(11y1)(11yn)=φ(n)φ(m)            gcd(n,m)=m

2.φ(n)=n1             nprim

考虑感性理解,1n 里面有 φ(n) 个与n互质,那么扩大 m 倍,相当于有 m1n 就直接乘(因为我们保证了 gcd(n,m)=m 也就是n是m的倍数,所以不存在乘上 m 后多出了不属于 n 的因子)

因此,我们可以来用质数筛的方法求 φ()

void op(int n){
    for(int i=2;i<=n;i++){
        if(!vis[i]){
            prim[++tot]=i;
            phi[i]=i-1;//引用定理2
        }
        for(int j=1;j<=tot&&i*prim[j]<=n;j++){
            vis[prim[j]*i]=1;
            if(i%prim[j]==0){
                phi[i*prim[j]]=phi[i]*prim[j];
                break;
            }else{
                phi[i*prim[j]]=phi[i]*(prim[j]-1);//因为prim[j]是质数,所以i与prim[j]一定互质
            }
        }
    }
}

EXCRT

给你一些方程:

xa1(modp1)xa2(modp2)......xan(modpn)

普通CRT比较有限制(因为要保证 p 为质数)

那么接下来我们来学习

扩展中国剩余定理

首先我们考虑我们已经得到了 1i1 个方程的特殊解 ansi1

M=lcm(a1,a2,...,ai1)

那么通解就是 ansi1+k×M      kZ

j[1,i1]   k×M0(modaj)

ansi1+k×Mansi1(modaj)

我们要找到一个 k 满足

ansi1+k×Mai(modpi)

先转化一下

k×M+y×pi=aiansi1

exgcd 算一算 k 就好啦

那么可以得到

ansi=ansi1+k×M

就可以递推啦

拓展欧拉定理

欧拉定理:

aφ(m)1(modm)                    (gcd(a,m)=1)

拓展欧拉定理:

abab mod φ(m)+φ(m)(modm)              (b>φ(m))

这里没有a,m互质的要求

证明

首先我们唯一分解m=p1q1p2q2......pnqn

现在我们只需要证明对于每个piqi

abab mod φ(m)+φ(m)(modp1q1)

因为

xy(modm1)xy(modm2)}xy(modm1m2)

(x-y既是m1倍数也是m2倍数)

如果gcd(a,piqi)=1

ababφ(m)φ(m)+b mod φ(m)ab mod φ(m)(modpiqi)

因为

φ(x)=φ(p1)p1q11φ(p2)p2q21......φ(pn)pnqn1φ(piqi)=φ(pi)piqi1aφ(piqi)1(modpiqi)

总的来说:

bφ(m)φ(m)=kφ(piqi)

证毕

如果gcd(a,piqi)1

因为pi为质数,所以一定有pi|a

因为bφ(m)φ(piqi)qi

ab0(modpiqi)aφ(m)0(modpiqi)}abaφ(m)(modpiqi)

综上所述

{abab mod φ(m)(modpiqi)        gcd(a,pi)=1abaφ(m)(modpiqi)               gcd(a,pi)1

如何合并?

{abaφ(m)+b mod φ(m)(modpiqi)            gcd(a,pi)=1abaφ(m)+b mod φ(m)(modpiqi)           gcd(a,pi)1 

第一个式子,乘上一个φ(m)欧拉定理结果不变

第二个式子aφ(m)0(modpiqi)随便乘上一些东西没什么关系

综上:

abaφ(m)+b mod φ(m)(modm)

posted @   He_Zi  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示