acm入门必备基本数学定理

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)。

发布了23 篇原创文章 · 获赞 9 · 访问量 4208

猜你喜欢

转载自blog.csdn.net/qq1225598165/article/details/102528639