一、完全剩余系的概念
在模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}。