课程名称 | 离散数学 | |||||
实验名称 | 偏序关系中盖住关系的求取及格论中有补格的判定 | |||||
实验时间 | 2014 | stepbystep年 | 10 | 月 | 24 | 日 |
指导单位 | 计算机科学与技术系 | |||||
指导教师 | ||||||
学生姓名 | throughtherain | 班级学号 | |
学院(系) | 计软院 | 专 业 | |
实验名称 | 偏序关系中盖住关系的求取及格论中有补格的判定 | 指导教师 | |||
实验类型 | 上机 | 实验学时 | 4 | 实验时间 | 2014.10.24 |
一、实验目的和要求 目的: 编程实现整除关系这一偏序关系上所有盖住关系的求取,并判定对应偏序集是否为格。 要求: 对任意给定正整数,利用整除关系求所有由其因子构成的集合所构成的格,判断其是否为有补格。 | |||||
二、实验环境(实验设备) VC++6.0 | |||||
三、实验原理及内容 #include<iostream> using namespace std; bool Find(int a, int b,int n)//判断两个元素是否互补 { int temp; if (a < b) { temp = a; a = b; b = temp; } int dividend=a, divider=b, remainder=0,min,max; 英语教师节贺卡 remainder = dividend%divider; while (remainder) { dividend = divider; divider = remainder; discuss的用法 remainder = dividend%divider;如何提高销售技巧 } min = a*b / divider;//求得最小公倍数 max = divider;//求得最大公约数 if (min == n&&max == 1) return true; 会计硕士就业前景 el return fal; } void main() { int n,i,count=0,j=0; cout << "输入正整数:";//输入任意整数 cin >> n; int a[100];//存储带输入整数的所有因子 bool b[100];//存储对应因子是否有补元 for (i = 0; i < 100; i++) b[i] = fal;//初始化 船舶英语for (i = 1; i <=n;i++) if (n%i == 0) { a[j++] = i; } count = j;//将所有因子个数赋给count cout <<n<< "共有" << count << "个因子" << endl; cout << n << "的因子为:" << endl; for (i = 0; i < count; i++)//输出所有因子 cout << a[i]<<" "; cout << endl; ratrace for (i = 0; i < count; i++)//判断两个元素是否互补 for (j = i; j < count; j++) { if (Find(a[i], a[j], n)) { b[i] = true; b[j] = true; break;//如果a[i]找到第一个与之互补的元素就跳出循环 } } int flag = 1;//标记所有由其因子构成的集合所构成的格是否是有补格 for (i = 0; i < count; i++) if (!b[i]) flag = 0; if (flag) { cout << hollande"是有补格" << endl;//易证此处格具有分配性 cout << "是布尔格" << endl;//若是有补格则也是布尔格 } el { cout << "不是有补格" << endl; cout << "不是布尔格" << endl; } } 四、测试分析 fiercely | |||||
本文发布于:2023-07-13 14:29:28,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/78/1094444.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |