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】

    咕咕咕咕

  • 相关阅读:
    Android源码学习之模板方法模式应用
    CSS3特性修改(自定义)浏览器默认滚动条
    【JQ+锚标记实现点击页面回到顶部】
    网页响应式媒体查询
    CSS3新特性,绘制常见图形
    【CSS3动画】transform对文字及图片的旋转、缩放、倾斜和移动
    MySQL索引详解
    Eclipse快捷键大全(转载)
    深入Java集合学习系列:HashMap的实现原理
    HTML5 的Drawing Path
  • 原文地址:https://www.cnblogs.com/zythonc/p/13697613.html
Copyright © 2011-2022 走看看