1.数论的讨论范围
数论的讨论范围一般是全体自然数,即非负整数(0,1,2....)。在后续的介绍中没有特别说明都是指的非负整数。
2.整除除法的性质
在c/c++中,整除一般默认是向下取整,在数论中记做,例如13.5向下取整是13,12.0向下取整是12。如果我们想把整除变成向上取整的话,我们只需要把a/b变成(a + b - 1) / b。
3.整除的性质
若a,b,k均是自然数,若b=ak,则称b被a整除,a是b的约数,记作a|b,读作a整除b。
特别的,任何数都能整除0,或者说任何数都是0的约数,因为当k =0时,无论a是多少,都满足0 = a * 0。
对于一个正整数x,他的约数是有限的,不超过2
倍的根号下x。因为x的两个约数肯定是一个大于根号x,一个小于根号下x,最极限的情况下小于根号x的全部整数都是约数,那此时约数个数就是二倍根号下x,但实际上约数的个数肯定是远远小于这个数的。其质因数个数更少,不超过log2(x)。因为最极限的情况就是他的因数全都是2。
4.取模运算的性质
当除法除不尽一个数的时候,我们就用一个数表示剩下的部分这个剩下的数就是余数,也称模数。
设k,a,b,r均为自然数,且b>=a>r,则有b = ka + r。此处r就是模数,k为b/a向下取整的商。也写作a%b = r。