离散数学实验三

萌到你眼炸
933次浏览
2021年01月30日 01:06
最佳经验
本文由作者推荐

给老师的信-梦中的额吉简谱

2021年1月30日发(作者:赵家和)















2014

/ 2015
学年





学期)




课程名称

离散数学

实验名称

偏序关系中盖住关系的求取及格论中有补格
的判定

实验时间

指导单位

指导教师

2014


11


28


南京邮电大学

罗卫兰




学生姓名

沈一州

班级学号

B12040920
NIIT
(软嵌)

学院
(

)
计算机软件学院


















实验名称

偏序关系中盖住关系的求取及格
论中有补格的判定

实验类型

Windows+V
C
实验学时

4
实验时间

指导教师

罗卫兰

11.28
一、

实验目的和要求

内容:

编程实现整除关系这一偏序关系上所有盖住关系的求取,并判定对应偏
序集是否为格。

要求:





对任意给定正整数,利用整除关 系求所有由其因子构成的集合所构成的
格,判断其是否为有补格。


二、

实验环境
(
实验设备
)
硬件:





CPU

3.0Ghz





内存:
1.00GB
软件:

操作系统:
Windows XP SP3
编程软件:
Visual C++ 6.0



- 1 -

三、

实验原理及内容

总体思想:

这次题目要求是根据整除关系建立偏 序关系,集合由一个正整数的因子所构成,所
以该偏序集中的最大下界为
1
,最小上界 为该正整数,所以该偏序集是一个格。又因为
是整除关系,则“交”即为求两者的最大公约数,
“并”即为求两者的最小公倍数,故
而满足分配律,因此这个偏序集是个分配格。判断这个集合是否为有 补格,根据定理可
以先判断元素数是否为
2
的倍数,不过编程起来更加复杂,于是我就 采用逐个求补元的
方法。如果对于某个元素找完了所有的元素也没找到补元,则不满足有补性,否则就为
有补格,又因为是分配格,所以也是布尔格。

对于所有可能的偏序集,有一个特例即
{1}
,这个偏序集最小上界等于最大下界等

1

1的补元是他本身。他也是个有补格,要特殊考虑。

核心代码:

1
、先编写了两个函数分别求最小公约数和最大公倍数:

//
辗转相除法求最大公约数

int GYS(int a,int b){

int temp;

if(a

temp=a;


a=b;


b=temp;

}

while(temp=a%b)

{


a=b;


b=temp;

}

return b;
}
//
根据最大公约数求最小公倍数

int GBS(int a,int b){

return a*b/GYS(a,b);
}
2
、求给定正整数的因子:

a[0]=1;//
第一个元素肯定是
1
j=n=1;//j
代表 数组
a[]
的下标,
n
标记元素个数

for(i=2;i<=m/2;i++){

if(m%i==0){//
若是能被给定正整数整除,即加入数组
a[]


a[j++]=i;n++;

}
}
if(m!= 1){//
最后把该正整数加入数组
a[]

1
不重复加入


a[j]=m;n++;
}

- 2 -

给老师的信-梦中的额吉简谱


给老师的信-梦中的额吉简谱


给老师的信-梦中的额吉简谱


给老师的信-梦中的额吉简谱


给老师的信-梦中的额吉简谱


给老师的信-梦中的额吉简谱


给老师的信-梦中的额吉简谱


给老师的信-梦中的额吉简谱