Форум сайта python.su
Пусть R – бинарное отношение заданное на парах натуральных чисел такое, что (n, m)R(k, s), если n·s = m·k. Доказать, что R – отношение эквивалентности.
Отношение эквивалентности осуществляется, когда отношение обладает свойствами рефлексивности, симметричности и транзитивности.
import operator def get_rel_matr(A, R): lis = sorted( list(A) ) matr = [] for i in range( len(lis) ): row = [] for j in range( len(lis) ): row.append( R( lis[i], lis[j] ) ) matr.append(row) return matr def is_refl(matr): for x in range( len(matr) ): if not matr[x][x]: return False return True def is_symm(matr): for x in range( len(matr) ): for y in range( x, len(matr) ): if not matr[x][y] == matr[y][x]: return False return True def is_transitive(matr): for x in range( len(matr) ): for y in range( len(matr) ): for z in range(len(matr)): if matr[x][y] and matr[y][z]: if not matr[x][z]: return False return True def get_rel_prop(matr): res = ['Отношение обладает следующими свойствами:'] res.append( ' рефлексивность,' if is_refl(matr) else '' ) res.append(' симметричность,' if is_symm(matr) else '' ) res.append(' транзитивность,' if is_transitive(matr) else '' ) s = ''.join( res ) if s[-1] == ',': s = s[:-1] + '.' return s
Офлайн
LOpoLOSHKAЧто у тебя дано изначально? Бинарное отношение, заданное на множестве элементов, - это такое множество упорядоченных пар этих элементов. Соответственно, у тебя должно быть дано множество пар, состоящих из пар чисел. Типа такого
Пусть R – бинарное отношение заданное на парах натуральных чисел такое, что (n, m)R(k, s), если n·s = m·k. Доказать, что R – отношение эквивалентности.
{((1, 2), (3, 4)), ((5, 6), (7, 8)), ((9, 10),(11, 12))}
Отредактировано py.user.next (Март 21, 2022 23:04:30)
Офлайн