欢迎光临
我们一直在努力

离散数学什么是半群,离散数学半群定义

给出一个代数系统<G,* >,其中:G={1,2,…,n},* 运算由运算表矩阵 给出,要判断:

(1)<G,* >是否为半群;?

(2)<G,*>是否为含幺半群;

(3)<G,*>是否为群。 ? ?

编程要求

??? 通过编程判断给定代数系统是否为群。

#include<iostream>using namespace std;int jiehe(int n,char g[100][100])//判断结合律{int i, j, k;for (i = 0; i < n; i++){for (j = 0; j < n; j++){for (k = 0; k < n; k++){if (g[g[i][j] – ‘a’][k] != g[i][g[j][k] – ‘a’]) // 存在一个不满足条件,即没有结合律{return 0;}}}}return 1;}int zuoyao(int n, char g[100][100], char a[100])//判断左幺元{int i, j, k, s = 0;for (i = 0; i < n; i++){for (j = 0; j < n; j++){if (g[i][j] == a[i]){s++;}}if (s == n){return 1;}}}int youyao(int n, char g[100][100], char a[100])//判断右幺元{int i, j, k, s = 0;for (i = 0; i < n; i++){for (j = 0; j < n; j++){if (g[j][i] == a[i]){s++;}}if (s == n){return 1;}}}int niyuan(int n, char g[100][100], char a[100])//判断逆元{int i, j, k, s = 0;char e;香港vpsfor (i = 0; i < n; i++){for (j = 0; j < n; j++){if (g[i][j] == a[j]){s++;}}if (s == n){e = a[i];break;}}s = 0;int c = 0;for (i = 0; i < n; i++){for (j = 0; j < n; j++){if (g[i][j] == e){s++;}}if (s == n){c++;}}if (c == n){return 0;}}int main(){char g[100][100];char a[100];int i, j, k;int n;cout << “输入元素个数:” << endl;cin >> n;cout << “输入元素:” << endl;for (i = 0; i < n; i++){cin >> a[i];}cout << “输入代数系统的运算表:” << endl;cout << “*”;for (i = 0; i < n; i++){cout << ” ” << a[i];}cout << endl;for (i = 0; i < n; i++){cout << a[i] << ” “;for (j = 0; j < n; j++){cin >> g[i][j];}}int s = 0;int c = 0;for (i = 0; i < n; i++){for (j = 0; j < n; j++){for (k = 0; k < n; k++){if (g[i][j] == a[k]){s++;}}}}if (s==n*n&&jiehe(n,g)){cout << “是半群” << endl;if (zuoyao(n, g, a) && youyao(n, g, a)){cout << “是幺半群” << endl;if (niyuan(n, g, a)){cout << “是群” << endl;}}}}

?

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。