欢迎来到天天文库
浏览记录
ID:35439491
大小:59.32 KB
页数:10页
时间:2019-03-24
《离散数学实验三柏超宇》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、占U嫌遂实验报告课程名称实验名称实验时间指导单位(2015/2016学年第二学期)离散数学偏序关系中盖住关系的求取及格论中有补格的判定2016年5月31口计算机科学与技术系指导教师罗卫兰学生姓名柏超宇班级学号Q15010125学院(系)贝尔英才学院专业信息科技英才班实验报告实验名称偏序关系中盖住关系的求取及格论中有补格的判定指导教师罗卫兰实验类型实验学时4实验时间5.31一、实验目的和要求目的:编程实现整除关系这一偏序关系上所有盖住关系的求取,并判定对应偏序集是否为格。要求:对任意给定正整数,利用整除关系求所有由其因子构成的集合所构成的格,判断其是否为
2、有补格。二、实验环境(实验设备)操作系统:Windows7编程软件:DevC++三、实验原理及内容首先输入一个数,再根据整除关系写出偏序集同时求出盖住关系,最后根据最小公倍数和最大公因数的算法依次检查每个元素,假如每个元素都有补元,那么这个偏序集就是一个有补格,因为整除运算符合分配律,所以也是一个布尔格。具体代码:#include#includeconstintN=100;intA[N];intinteger;intnumber;voidInput(){do{printf(n请输入一个正整数:”);scanf(H%
3、d",&integer);if(integer==l){printf(Hl是一个有补格”);exit(O);}}while(integer<=0);}voiddo1(){inti=0;intj=0;for(intn=l;n<=integer;n++)if(integer%n==O)A[i++]=n;}number=i;printf(HA={H);for(j=O;j4、intf(nCoverA二{”);for(inti=0;iA[i],A[j]);}}}printf(H}H);}voidJudgeComplementedlattice(){intgcd,lcm;intdividend,divisor5、,remainder;intflagl=l;for(inti=O;i0);gcd=dividend;lcm=A[i]*A[j]/gcd;if(gcd==A[O]&&lcm==A[number-1])flag2=l;}for(intk=O;k6、vi;k++){divisor=A[k];dividend=A[i];do{remainder=dividend%divisor;dividend=divisor;divisor=remainder;}while(remainder>0);gcd=dividend;lcm=A[k]*A[i]/gcd;if(gcd==A[O]&&lcm==A[number-1])flag2=l;}if(flag2==0){flag1=0;break;}}if(flagl==l){printf(n7、>是有补格An”);}elseprintf(n8、>不是有补格A9、n“);intmain(){printf("设由正整数因子所构成的集合A和整除关系这二者构成的偏序集合为10、>n);Input();dol();do2();JudgeComplementedlattice();return0;}运行结果:(例如输入99)设貞正整数因亍所构成的集合A和整除关系这二者构成的偏序集合为<4;>请蟲入一术正整数:99A=<1,3,9,11,33,99〉CoverA=«l,3><3,9〉<3,33><9,99〉<11,33><33,99〉><4◊不是有补格・Processexi忖ithFeturnualue0Pressa11、nykeytocontinue•••四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
4、intf(nCoverA二{”);for(inti=0;iA[i],A[j]);}}}printf(H}H);}voidJudgeComplementedlattice(){intgcd,lcm;intdividend,divisor
5、,remainder;intflagl=l;for(inti=O;i0);gcd=dividend;lcm=A[i]*A[j]/gcd;if(gcd==A[O]&&lcm==A[number-1])flag2=l;}for(intk=O;k
6、vi;k++){divisor=A[k];dividend=A[i];do{remainder=dividend%divisor;dividend=divisor;divisor=remainder;}while(remainder>0);gcd=dividend;lcm=A[k]*A[i]/gcd;if(gcd==A[O]&&lcm==A[number-1])flag2=l;}if(flag2==0){flag1=0;break;}}if(flagl==l){printf(n7、>是有补格An”);}elseprintf(n8、>不是有补格A9、n“);intmain(){printf("设由正整数因子所构成的集合A和整除关系这二者构成的偏序集合为10、>n);Input();dol();do2();JudgeComplementedlattice();return0;}运行结果:(例如输入99)设貞正整数因亍所构成的集合A和整除关系这二者构成的偏序集合为<4;>请蟲入一术正整数:99A=<1,3,9,11,33,99〉CoverA=«l,3><3,9〉<3,33><9,99〉<11,33><33,99〉><4◊不是有补格・Processexi忖ithFeturnualue0Pressa11、nykeytocontinue•••四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
7、>是有补格An”);}elseprintf(n8、>不是有补格A9、n“);intmain(){printf("设由正整数因子所构成的集合A和整除关系这二者构成的偏序集合为10、>n);Input();dol();do2();JudgeComplementedlattice();return0;}运行结果:(例如输入99)设貞正整数因亍所构成的集合A和整除关系这二者构成的偏序集合为<4;>请蟲入一术正整数:99A=<1,3,9,11,33,99〉CoverA=«l,3><3,9〉<3,33><9,99〉<11,33><33,99〉><4◊不是有补格・Processexi忖ithFeturnualue0Pressa11、nykeytocontinue•••四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
8、>不是有补格A
9、n“);intmain(){printf("设由正整数因子所构成的集合A和整除关系这二者构成的偏序集合为10、>n);Input();dol();do2();JudgeComplementedlattice();return0;}运行结果:(例如输入99)设貞正整数因亍所构成的集合A和整除关系这二者构成的偏序集合为<4;>请蟲入一术正整数:99A=<1,3,9,11,33,99〉CoverA=«l,3><3,9〉<3,33><9,99〉<11,33><33,99〉><4◊不是有补格・Processexi忖ithFeturnualue0Pressa11、nykeytocontinue•••四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
10、>n);Input();dol();do2();JudgeComplementedlattice();return0;}运行结果:(例如输入99)设貞正整数因亍所构成的集合A和整除关系这二者构成的偏序集合为<4;>请蟲入一术正整数:99A=<1,3,9,11,33,99〉CoverA=«l,3><3,9〉<3,33><9,99〉<11,33><33,99〉><4◊不是有补格・Processexi忖ithFeturnualue0Pressa
11、nykeytocontinue•••四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
此文档下载收益归作者所有