南京邮电大学离散数学实验三偏序关系中盖住关系的求取及格论中有补格的判定
来源:互联网 发布:java date sethour 编辑:程序博客网 时间:2024/05/01 20:06
微博账号:暖风_lin
欢迎私信留言
一、 实验目的和要求
内容:
编程实现整除关系这一偏序关系上所有盖住关系的求取,并判定对应偏序集是否为格。
要求:
对任意给定正整数,利用整除关系求所有由其因子构成的集合所构成的格,判断其是否为有补格。
二、算法概要:输入n,遍历1到n所有数寻求因子;
整除关系判断有补格,条件即所有的因子都能找到与其最大公约数为1最小公倍数为n的另外一个因子;
求最大公约数用辗转相除法;
下面直接贴代码:
#编程是自己的事,禁止复制粘贴交作业#
#include<iostream>using namespace std;int a[100];int num;void factor(int n)//显示各因子;{ int i,j=0,k,t; int judge =0; cout<<"能整除的因子有:"; for(i=1;i<=n;i++) { if(n%i==0) { cout<<i<<" "; a[j]=i; j++; } } cout<<endl; num=j-1; cout<<"cov "<<n<<"={"; for(k=0;k<=num;k++) { for(i=k+1;i<=num;i++) { if(a[i]%a[k]==0) { judge=2; if(i-k>1) { for(t=k+1;t<i;t++) { if(a[t]%a[k]==0) judge=1; } } } if(judge==2&&k!=(num-1)) { cout<<"<"<<a[k]<<","<<a[i]<<">,"; }else{ if(judge==2) cout<<"<"<<a[k]<<","<<a[i]<<">"; } judge=0; } } cout<<"}"<<endl;}int gcd(int x, int y) //最大公约数{ int r = 1; while(r != 0) { r = x % y; x = y; y = r; } return x;}void solve() //判断是否为有补格{ bool flag; int Gcd, Lcm; for(int i = 1; i < num; i++) { flag = false; for(int j = 1; j < num; j++) { if(i == j) continue; Gcd = gcd(a[i],a[j]); Lcm = a[i] / Gcd * a[j]; if(Gcd == a[0] && Lcm == a[num]) { flag = true; break; } if(!flag) { cout << "该格不是有补格!" << endl; return; } } } cout << "该格是有补格!" << endl; return;}int main(){ int n; cout<<"please input the number:"; cin>>n; factor(n); solve(); return 0;}
factor函数里面的算法有点蠢,但勉强能够运行出来;
if(judge==2&&k!=(num-1)) { cout<<"<"<<a[k]<<","<<a[i]<<">,"; }else{ if(judge==2) cout<<"<"<<a[k]<<","<<a[i]<<">"; }
此段语句规范输出;避免出现cov后多一个,
0 0
- 南京邮电大学离散数学实验三偏序关系中盖住关系的求取及格论中有补格的判定
- 【离散数学】实验三 偏序关系中盖住关系的求取及格论中有补格的判定
- 南邮离散数学实验3 偏序关系中盖住关系的求取及格论中有补格的判定
- 南邮离散数学实验三-偏序关系中盖住关系的求取及格论中有补格的判定
- 离散数学 偏序关系中盖住关系的求取及格论中有补格的判定
- 偏序关系中盖住关系的求取及格论中有补格的判定
- 盖住关系的验证
- 【离散数学实验】关系R的性质判断
- 离散数学中等价关系的认识
- 【离散数学实验】相容关系的极大相容类的计算
- 离散数学实验之求解关系的闭包运算
- 离散数学与计算机的关系
- 关系模式候选键求取的算法
- 【离散数学】实验二 集合上二元关系性质判定的实现
- 离散数学之集合上关系的判断
- 【离散数学实验】关系R的幂运算及其传递闭包的计算
- 离散数学(关系)
- <<离散数学>>关系
- 学习python的第二十五天-老程序员的忠告
- UVA 1349 Optimal Bus Route Design
- PAT B1028
- Glide加载图片并保存到本地返回file,bitmap
- 谈谈Android 6.0运行时权限理解
- 南京邮电大学离散数学实验三偏序关系中盖住关系的求取及格论中有补格的判定
- 谈谈Android 6.0运行时权限理解
- PAT B1029
- PHP——CURL类
- PROCEDURE-12
- HTTP详解(1)-工作原理
- HDU 1014 Uniform Generator 水题
- 掌握shell应用,Linux 任你行走!
- android animation 零碎总结