常用数论结论

今天主要温习了数论的常用结论,列在下面供参考,今后将继续补充。


唯一分解定理

算术基本定理可表述为:任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积 N=P1a1P2a2P3a3……Pnan。
百度传送门:
http://baike.baidu.com/link?url=Dot_lMUdZmRC2-THg_s6al1fwtIt9A_t_Q_WODgkywCguHZVv50Qr-OWl_y65BGop6MThpXFEt8YXgGvXmD8ta

GCD辗转相除法

两正整数a,b的最大公约数gcd按照如下法则计算:
1. 能除尽,b为最大公约数;
2. 否则用除数除以余数,递归求解。
下面给出三种实现方式,

int gcd(int a,int b){ //按照思路写
    if(a%b==0)
        return b;
    else
        return gcd(b,a%b);
}
int gcd1(int a,int b){  //b看做除数,简洁版
    return a%b==0?b:gcd(b,a%b);
}

int gcd2(int a,int b){  //b看做余数
    return b==0?a:gcd(b,a%b);
}

拓展结论:
1. 设两个数是a,b最大公约数是p,最小公倍数是q那么有这样的关系:ab=pq;
2. 从左到右一次求最小公倍数,对后来加的新数,让其与之前的所有的数的最小公倍数一起求两者的最小公倍数,直到算到最后一个数。
原理证明:
lcm(a,b) = a*b/gcd(a,b)
gcd(a,b,c) = gcd(gcd(a,b),c)// 这点很简单

推广:
gcd(a,b…n) = gcd(gcd(…gcd(a,b),….n)
lcm(a,b…n) = lcm(lcm(…lcm(a,b),…n)

被除数扩大几倍,除数不变,余数也扩大几倍。
被除数加上(或减去)除数的倍数,除数不变,余数也不变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值