您的位置:首页 > 其它

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

2014-11-29 22:34 113 查看
内容:

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

要求:

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

#include<iostream.h>
int min(int a,int b)//求最大公约数
{
int k=0,s=0;
if(a>b)
{
k=a%b;
s=b;
}
else
{
k=b%a;
s=a;
}
if(k==0)
return s;
else
min(k,s);
}
int max(int a,int b,int k)//求最小公倍数
{
int s;
s=a*b/k;
return s;
}
void main()
{
int i,j,z,n=1;
bool q=true;
int k;
int a[100];
bool o[100];
cin>>z;
k=z/2;
for(i=1;i<=k;i++)
{
a[n-1]=i;
if (z%i==0)
n++;
}
a[n-1]=z;
for(i=0;i<n;i++)
{
o[i]=false;
for(j=0;j<n;j++)
if(i!=j)
if(min(a[i],a[j])==1&&max(a[i],a[j],min(a[i],a[j]))==z)
o[i]=true;
}
for(i=0;i<n;i++)
if(!o[i])
q=false;
if(q)
cout<<"是有补格"<<endl;
else
cout<<"不是有补格"<<endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: