您的位置:

完全剩余系

一、完全剩余系的概念

在模m的整数集合{0,1,2,...,m-1}中,如果集合S = {a1,a2,...,an}满足以下两个条件,则S为模m的完全剩余系:

1. S中的每个元素都是模m的剩余类;

2. S中的元素两两不同余,即ai≠aj (i≠j)。

简单地说,如果取模后得到的余数均不相同,而且包含了所有的可能剩余类,则这些余数构成了模m的完全剩余系。

二、简述模m的完全剩余系特征

模m的完全剩余系共有m个元素,每个数都是模m的剩余类。

模m的完全剩余系的元素之间两两不同余,从而形成一个无序的、呈现散列分布的集合。

通过完全剩余系,在模m的剩余类中相当于仅保留了一个最小非负剩余,即将每个剩余系中最小的元素代表这个剩余系。

三、剩余系和完全剩余系概念

剩余系是指在模m的整数集合{0,1,2,...,m-1}中,任意取另一个整数a,将模m下的所有a的倍数归到同一类中,则这些类所组成的集合就是模m下的一个剩余系。

而完全剩余系是指模m的一个剩余系中不重不漏地包含了所有的模m下的剩余类。

四、完全剩余系怎么计算

计算模m的完全剩余系,需要从模0开始,依次枚举模m的每个非负整数k,然后判断k是否是模m的剩余系中的元素。

def get_full_residue_system(m):
    s = set()
    for i in range(m):
        s.add(i%m)
    return s

五、完全剩余系的加法表

模m的完全剩余系中的任意两个元素相加,其和仍然属于模m的完全剩余系。

m = 7
s = get_full_residue_system(m)
add_table = [[(i+j)%m for j in s] for i in s]
print(add_table)

六、模7完全剩余系怎么求

模7的剩余类共有7种,分别是{0,1,2,3,4,5,6}。其完全剩余系为{0,1,2,3,4,5,6}。

m = 7
s = get_full_residue_system(m)
print(s)

七、完全剩余系的定义

完全剩余系是指模m的一个剩余系中不重不漏地包含了所有的模m下的剩余类。

特别地,在模质数p下,完全剩余系可以通过对1~p-1进行约旦定理的运算来得到。

def jordan_totient(n):
    res = 1
    for i in range(2, n):
        if n % i == 0:
            res *= i-1
            n //= i
            while n % i == 0:
                res *= i
                n //= i
    if n > 1:
        res *= n-1
    return res


def get_full_residue_system_prime(p):
    s = set()
    for i in range(1, p):
        if math.gcd(i, p) == 1:
            s.add(i)
    return s


p = 7
s = get_full_residue_system_prime(p)
print(s)

八、完全剩余系和简化剩余系

在模m的剩余系中,完全剩余系和简化剩余系都是对剩余系的一个划分。两者不同之处在于,简化剩余系只包含了剩余系中的一个最小非负剩余,而完全剩余系包含了剩余系中的所有剩余类。

举个例子,模7的剩余系包含的元素为{0,1,2,3,4,5,6},则从剩余系中选取一个最小非负剩余,有以下可能:

1. 取0: 此时简化剩余系为{0},完全剩余系为{0,1,2,3,4,5,6};

2. 取1: 此时简化剩余系为{1},完全剩余系为{1,2,3,4,5,6,0};

3. 取2: 此时简化剩余系为{2},完全剩余系为{2,3,4,5,6,0,1};

4. 取3: 此时简化剩余系为{3},完全剩余系为{3,4,5,6,0,1,2};

5. 取4: 此时简化剩余系为{4},完全剩余系为{4,5,6,0,1,2,3};

6. 取5: 此时简化剩余系为{5},完全剩余系为{5,6,0,1,2,3,4};

7. 取6: 此时简化剩余系为{6},完全剩余系为{6,0,1,2,3,4,5}。