1.欧几里得算法求最大公约数
def gcd(a,b):
if b == 0:
return a
return gcd(b,a%b)
2.筛法求素数
def pr01():
ls = []
for i in range(1,101):
ls.append(i)
for i in ls:
for j in ls:
if j%i ==0 and j!=i:
ls.remove(j)
3.康托展开
def pr02():
ls = [3,4,1,5,2]
cont = [0,0,0,0,0]
k = 0
for i in ls:
for j in ls[k+1:]:
if i > j:
cont[k]+=1
k += 1
print(cont)
同余定理
a、b同余可以表示为
a≡b(mod m)
1.反身性:a≡a (mod m);
2.对称性:若a≡b(mod m),则b≡a (mod m);
3.传递性:若a≡b(mod m),b≡c(mod m),则a≡c(mod m);
4.同余式相加:若a≡b(mod m),c≡d(mod m),则a c≡b d(mod m);
5.同余式相乘:若a≡b(mod m),c≡d(mod m),则ac≡bd(mod m)。