zoukankan      html  css  js  c++  java
  • 数论学习笔记

    正文


    初等数论 - I(陈景润)


    [P12 - 引理8]
    设    (a;)(;b;)都是正整数,且(a>b,;;a=bq+r;(0<r<b))
    其中   (q,r)都是正整数,则 ((a,b)=(b,r))

    ————————证明————————

    设    ((a,b)=c)

    则    (a=cm; , ;b=cn)

    则    (r=a-bq=cm-cnq=c;(m-nq))

    所以   (c;|;r)

    所以   (c;|;(b,r))

    设    ((b,r)=d>c)

    由上知  ((a,b)=d>c)

    而这与假设相矛盾,所以

    ((a,b);=;c;=;(b,r))

    证毕

    • 总结:通过基本的算术变换或通过证矛盾都是得结论的方法

    [P18 - 引理9]
    (a,bin N^*)({a,b}=m)(n)(a;,;b) 的公倍数,则 (m;|;n)

    ————————证明————————

    有  (1leqslant mleqslant n)

    有  (a;|;m;,;b;|;m;,;a;|;n;,;b;|;n)

    设  (m=aa';,;m=bb';,;n=aa'';,;n-bb'')

    设  (n=mq+r;(0leqslant r<m))

    由于 (n-mq=r)

    得  (aa''-aa'q=r;,;bb''-bb'q=r)

    得  (a(a''-a'q)=r;,;b(b''-b'q)=r)

    所以 (a;|;r;,;b;|;r)

    所以 (r)(a;,;b) 的公倍数

    又因 ({a,b}=m)

    所以 (r=0)

    所以 (m;|;n)

    证毕

    • 总结:通过证0值(特殊值)的方式证明

    [P19 - 引理10]
    (a,bin N^*)((a,b)=m;,;{a,b}=n),则 (ab=mn)

    ————————证明————————

    有  (ab=np)

    则  (dfrac{n}{b}=dfrac{a}{p};,;dfrac{n}{a}=dfrac{b}{p})

    则  (p;|;a;,;p;|;b),为 (a;,;b) 的公因数

    设  (a;,;b) 的另一个公因数(m')

    则  (m'=dfrac{ab}{q'})

    则  (q'=dfrac{ab}{m'})

    因为 (dfrac{a}{m'},dfrac{b}{m'}in N^*)

    所以 (q')(a,b) 的公倍数

    所以 (dfrac{q'}{n}=dfrac{ab}{m'left(dfrac{ab}{p} ight)}=dfrac{p}{m'})

    因为 (forall m'|p)

    所以 (p=(a,b)=m)

    所以 (ab=mn)

    证毕

    • 总结:证其中一点,由性质得普遍结论

    [P58 - 引理1]
    如果 ((a,b)=1),则 (exists;x,yin Z) 使得 (ax+by=1)

    ————————证明————————

    证明分三步

    (i)

    如果 (Z_1,Z_2)是能够写为形如 (ax+by) 的两个整数

    因为 (Z_1=ax_1+by_1)

    (Z_2=ax_2+by_2)

    (k_1Z_1+k_2Z_2=ak_1 x_1+ak_2 x_2+bk_1 y_1+bk_2 y_2=(k_1x_1+k_2x_2)a+(k_1y_1+k_2y_2)b)

    所以对于 (k_1,k_2in Z)(k_1Z_1+k_2Z_2)也可以写作形如 (ax+by) 的形式

    EDITing...


    数论的应用


    【欧拉函数】

    【题目描述】
    给定一个数 (n),求 (varphi(n))

    直接分类讨论推导:

    • 如果 (n) 是质数,那么显然 (varphi(n)=n-1)
    • 如果 (n=p^k),其中 (p) 为质数,那么显然,(n) 之中 (p) 的倍数肯定与 (n) 有公约数,所以我们减去它们就得到了 (varphi(n)) 的值,所以 (varphi(n)=n-n/p)
    • (n) 肯定可以写成 (prodlimits_{i=1}p_i^{k_i}) 的形式

    我们筛完一个质因子之后统计,然后把这个因子除尽

    inline int phi(int n){
    	int cnt=n;
    	for(int i=2;i*i<=n;i++){
    		if(!(n%i)){
    			cnt-=cnt/i;
    			while(!(n%i)) n/=i;
    		}
    	}
    	if(n>1) cnt-=cnt/n;
    	return cnt;
    }
    

    【线性同余方程】

    【题目描述】
    求解关于 (x) 的线性同余方程 (axequiv1pmod{b}) 的最小正整数解

    因为 (a,b) 已知,原式就相当于:

    (ax+by=1)

    exgcd求解即可

    P1082 同余方程

    #include<iostream>
    using namespace std;
    int a,b,x,y;
    inline int exgcd(int a,int b){
    	if(!b){x=1;return 0;}
    	exgcd(b,a%b);
    	int cp=x;
    	x=y;
    	y=cp-a/b*y;
    }
    int main(){
    	cin>>a>>b;
    	exgcd(a,b);
    	cout<<(x+b)%b;
    }
    

    【线性同余方程组】

    【题目描述】
    求解关于 (x) 的线性同余方程组

    (egin{cases} xequiv b_1pmod {a_1}\ xequiv b_2pmod {a_2}\ ;;;;vdots\ xequiv b_npmod {a_n} end{cases})

    (A=prod^n_{i=1}a_i)

    (ar{a}_i=A/a_i)

    (t_i) 为线性同余方程 (ar{a}_it_iequiv 1pmod{a_i}) 的一个解

    因为 (ar{a}_i)(a_i) 互质,但是 (forall j eq i)(ar{a}_i) 都是 (a_j) 的倍数,所以(mod a_j equiv 0)

    又因为 (b_iar{a}_it_i pmod {a_i}equiv b_i)

    所以原方程组的解为 (sum^{n}_{i=1}b_iar{a}_it_i)

    P1495 【模板】中国剩余定理(CRT)/曹冲养猪

    #include<iostream>
    #define N 1000001
    #define int long long
    using namespace std;
    int n,a[N],m[N],em[N],t[N],alm=1,x,y,ans;
    inline void exgcd(int a,int b){
    	if(!b){
    		x=1;
    		return;
    	}
    	exgcd(b,a%b);
    	int cp=x;
    	x=y;
    	y=cp-(a/b)*y;
    }
    signed main(){
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		cin>>m[i]>>a[i];
    		alm*=m[i];
    	}
    	for(int i=1;i<=n;i++){
    		x=0,y=0;
    		em[i]=alm/m[i];
    		exgcd(em[i],m[i]);
    		t[i]=(x+m[i])%m[i];
    		ans+=(a[i]*em[i]*t[i]);
    	}
    	cout<<ans%alm;
    }
    

    【EXCRT】

    咕咕咕咕

  • 相关阅读:
    使用NBU进行oracle异机恢复
    mycat偶尔会出现JVM报错double free or corruption并崩溃退出
    exp导出数据时丢表
    service_names配置不正确,导致dg创建失败
    XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax
    HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端
    java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类
    【JAVA集合框架一 】java集合框架官方介绍 Collections Framework Overview 集合框架总览 翻译 javase8 集合官方文档中文版
    java内部类深入详解 内部类的分类 特点 定义方式 使用
    再谈包访问权限 子类为何不能使用父类protected方法
  • 原文地址:https://www.cnblogs.com/zythonc/p/13697613.html
Copyright © 2011-2022 走看看