精华内容
下载资源
问答
  • 南京邮电大学实验一真值表法求主析取范式主合取范式代码 离散数学 实 验 一利用真值表法求主析取范式以及主合取范式的实现 实验名称:利用真值表法求主析取范式以及主合取范式的实现 实验目的:通过编程实现主...
  • 离散数学主析主合取范式

    千次阅读 2019-12-06 23:11:56
    离散数学主析主合取范式 ...文章目录离散数学主析主合取范式**概念**一:析取范式与合取范式取范式与合取范式范式的步骤二:主析主合取范式**解法**等价公式真值表注: 概念 一:析...

    本文为本人结合书本,网络资源的学习笔记,没有任何商业用途,如有任何错误,问题请广大网友指正和提出!

    概念

    一:析取范式与合取范式

    百度百科

     	命题变项及其否定统称作文字。
     	仅由有限个文字构成的析取式称为简单析取式。
     	仅由有限个文字构成的合取式称为简单合取式。
    

    例如,文字:p,┐q,r,q.

    简单析取式: p,q,p∨q,p∨┐p∨r,┐p∨q∨┐r.

    简单合取式: p,┐r,┐p∧r,┐p∧q∧r,p∧q∧┐r**.**

    析取范式与合取范式

    (1)由有限个简单合取式构成的析取式称为析取范式

    (2)由有限个简单析取式构成的合取式称为合取范式

    (3)析取范式与合取范式统称为范式。

    例如,析取范式:**(**p┐∧q)∨r, ┐p∨q∨r, p∨┐q∨r.

    合取范式:(p∨q∨r)∧(┐q∨r), ┐p∧q∧r, p∧┐q∧r.

    求范式的步骤

    1.消去联结词→、←、↔;

    2.利用德·摩根律将否定符号┐直接移到各个命题变元之前;

    3.利用分配律。

    命题公式的析取范式与合取范式都不是唯一的。

    二:主析取及主合取范式
    1. 主析取范式:

      设命题公式A中含n个命题变项,如果A得析取范式中的简单合取式全是极小项,则称该析取范式为A的主析取范式。
      

      若干个极小项的析取(并集)。

    2. 主合取范式:

      设命题公式A中含n个命题变项,如果A得析取范式中的简单合析式全是极大项,则称该析取范式为A的主析取范式。
      

      若干个极大项的合取(交集)。

    3. 极大项,极小项

    极大项

    包含全部数目的命题变元的析取表达式。

    极小项

    包含全部数目的命题变元的合取表达式。

    所有极小项的析取为永真公式,所有极大项的合取为永假公式。

    解法

    等价公式

    常用基本等价公式:

    (G↔H)=(G→H)∧(H→G)=(¬G∨H)∧(¬H∨G);
    (G→H)=(¬G∨H);(蕴含式)
    G∨G=G,G∧G=G;(幂等律)
    G∨H=H∨G,G∧H=H∧G;(交换律)
    G∨(H∨S)=(G∨H)∨S,G∧(H∧S)=(G∧H)∧S;(结合律)
    G∨(G∧H)=G,G∧(G∨H)=G;(吸收律)
    G∨(H∧S)=(G∨H)∧(G∨S),G∧(H∨S)=(G∧H)∨(G∧S);(分配律)
    G∨0=G;G∧1=G;(同一律)
    G∧0=0,G∨1=1;(零律)
    ¬(G∨H)=¬G∧¬H,¬(G∧H)=¬G∨¬H(德摩根律)
    

    例:(p∨(q∧r))→(p∧q∧r)

    0.﹁(p∨(q∧r))∨(p∧q∧r)

    1.(﹁p∧﹁(q∧r))∨(p∧q∧r)

    2.(﹁p∧(﹁q∨﹁r))∨(p∧q∧r)

    3.(﹁p∧﹁q)∨(﹁p∧﹁r)∨(p∧q∧r)

    4.((﹁p∧﹁q)∧(r∨﹁r))∨((﹁p∧﹁r)∧(q∨﹁q))∨(p∧q∧r)
    5.(﹁p∧﹁q∧r)∨(﹁p∧﹁q∧﹁r)∨(﹁p∧q∧﹁r)∨(p∧q∧r)

    6.(﹁p∧﹁q∧﹁r)∨(﹁p∧﹁q∧r)∨(﹁p∧q∧﹁r)∨(p∧q∧r)

    主析取范式m0∨m1∨m2∨m7

    则可得出其主合取范式为M3∧M4∧M5∧M6

    1.这里也用过主析取范式与主合取范式转换的相关知识,以及极大极小项的表示,本例m0–m7的表示,具体知识不详述。

    2.使用公式转换法求主范式时,需要增加某一个命题变元,此时要注意正确加入该变
    水真公式和永假公式,同时注意正确化简公式(如上述例子的3,4步的过渡)。

    真值表

    [直接给例子吧]
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    注:

    = ”不是一个联结词,而是一种关系。而且具有以下三种性质:

    1.自反性:即G=G
    2.对称性:即若G=H,则H=G
    3.传递性:即若G=H,H=S,则G=S
    
    展开全文
  • 编程实现求解逻辑表达式的真值表、主析取范式主合取范式对于一个含n个命题变元的表达式(n为相异的命题变元总个数),其真值表可看作由从0到2ⁿ-1的二进制数的变化表。因此,可以通过按行列举0到2ⁿ-1的二进制数来...
  • 法一:相信大家都会的方法是——真值表法, 把真值表写出来后,把真值为1的项合的结果就是主析取范式, 把真值为0的项析的结果就是主合取范式。 法二(重点):这里讲得是配凑法。配凑法能直接配出来主析取范式...

    例题:(p∧q)∨(┐p∧r), 求上式的主析取和主合取

    法一:相信大家都会的方法是——真值表法, 把真值表写出来后,把真值为1的项析取的结果就是主析取范式, 把真值为0的项合取的结果就是主合取范式。 

    法二(重点):这里讲得是配凑法。配凑法能直接配出来主析取范式(主合取范式)的每一个最小项(最大项)

     

    步骤:

    1. 把析取合取非换成 +、*、'    =>              原式 = pq + p'r
    2. 把原式化成 析取式(与或式)  =>         原式 = pq + p'r(原本就是与或式)                                                                       

    求主析取或主合取 (精髓:补缺少的变元)           

              求主析取范式,缺少的变元以 x + x' 的形式补上  

    1、pq = pq(r + r')
    
    2、p'r = p'(q + q')r
    
    3、原式 = pqr + pqr' + p'qr + p'q'r  (主析取)    

              求主合取范式, 缺少的变元以 xx' 的形式补上   (中间会用到的公式:  A + BC = (A + B) (A + C), 我会标注xxx  )                                          

      pq + p'r                       (xxx)
                
     = (pq + p')(pq + r)             (xxx)
    
     = (p' + q)(p + r)(q + r) 
    
     = (p' + q + rr')(p +qq'+ r)(pp' + q + r)     (补缺的变元)
    
     = (p' + q + r)(p' + q + r') (p + q + r)(p + q' + r) (p + q + r)(p' + q + r)    (xxx,这里每两个括号是上一行一个括号展开的结果,我多加了一个空格以区分)
    
     = (p' + q + r)(p' + q + r')(p + r + q')(p + r + q)     (消去重复项 即得 主合取)            
    

     

    条件连接词怎么办呢?

    很简单,先把条件连接词转成与或非表达式,再进行上面的步骤即可!

     

    总结:自认为配凑法比真值表法快(前提是你对表达式的化简掌握的很熟练),这个方法只需要练几道题找找感觉就能记住了!如果对大家有帮助,顺手点个赞吧!(这是对博主的大大激励噢~)

     

    展开全文
  • 实 验 一利用真值表法求主析取范式以及主合取范式的实现 实验名称:利用真值表法求主析取范式以及主合取范式的实现 实验目的:通过编程实现主析取范式以及主合取范式的真值表求法以巩固相关理论的掌握 实验...
  • 离散数学主析取范式主合取范式

    万次阅读 多人点赞 2018-03-28 19:28:21
    今天总结了一下关于离散数学化简主析取范式以及主合取范式的一些方法。首先一般可能会用到 分配律: A∨(B∧C)<=>(A∨B)∧(A∨C), A∧(B∨C)<=>(A∧B)∨(A∧C);其次若化简式里有蕴涵...

    今天总结了一下关于离散数学化简主析取范式以及主合取范式的一些方法。

    首先一般可能会用到 分配律: A∨(BC)<=>(AB)(AC),

                                                A(BC)<=>(AB)(AC)

    其次若化简式里有蕴涵符号,则可以用 蕴涵等值式 AB<=>¬AB 进行化简;

    若求主析取范式,化简式中有 pq,需给其配上r,可配(pq)∧(r¬r),  这里用了零律及同一律,这里就不详说了;

    若求主合取范式,化简式中有pq,需给其配上r,可配(pq)(r¬r),所用同上。
    当然,也可利用成真赋值,成假赋值互相求出;

    例如:

         (p∨(q∧r))→(p∧q∧r) 

    <=>(p∨(q∧r))∨(p∧q∧r) (﹁p∧﹁(q∧r))∨(p∧q∧r) 

    <=>(﹁p∧(﹁q∨﹁r))∨(p∧q∧r) (﹁p∧﹁q)∨(﹁p∧﹁r)∨(p∧q∧r)

    <=>((﹁p∧﹁q)∧(r∨﹁r))∨((﹁p∧﹁r)∧(q∨﹁q))∨(p∧q∧r)

    <=>(﹁p∧﹁q∧r)∨(﹁p∧﹁q∧﹁r)∨(﹁p∧q∧﹁r)∨(p∧q∧r)

    <=>(﹁p∧﹁q∧﹁r)(﹁p∧﹁q∧r)(﹁p∧q∧﹁r)∨(p∧q∧r)、

    <=>m0m1m2m7

    则可得出其主合取范式为M3M4M5M6,这里默认顺序为p q r

    另外,还需常记得公式有

    等价等值式:
                          A↔B⇔(A→B)∧(B→A)
    假言易位:
                          A→B⇔ ¬B→ ¬A
    等价否定等值式:
                           A↔B⇔ ¬A↔ ¬B
    归谬论:
                     (A→B)∧(A→ ¬B)⇔ ¬A
    未经本人同意,不得转载。
    展开全文
  • -------YYC #include #include #include #include using namespace std;...* 用& 表示 合 * 用| 表示 析 * 用- 表示 条件 * 用~ 表示 双条件 */ list> inlist_value_map ;//用于记录所有

    -------YYC

    #include<iostream>

    #include<string>
    #include<map>
    #include<list>
    using namespace std;
    /*
    *说明:
    *     用!表示 否定
    *     用& 表示 合取
    *     用| 表示 析取
    *     用- 表示 条件
    *     用~ 表示 双条件
    */
    list<map<char,int>> inlist_value_map ;//用于记录所有最初变量的真值组合
    list<map<char,int>> hqlist_value_map;//用于记录所有符合主合取范式条件的真值组合
    list<map<char,int>> xqlist_value_map;//用于记录所有符合主析取范式条件的真值组合
    int value=0;
    //string expr;
    //真值转换函数
    void change_val(int & s)
    {
    if(0==s)
    s=1;
    else
    s=0;
    }


    //处理基本连接词的函数
    int deal_cal(int par1,char  par2,int par3)
    {   // cout<<par2<<endl;
    switch(par2)

     case '&'://合取
     return par1&&par3;
     break;
     case '|'://析取
     return par1||par3;
        break;
     case '-'://条件
     return !(par1==1&&par3==0);
        break;
     case '~'://双条件
     return (par1==par3);
        break;
     default:
     cout<<"有某些命题的真值错误"<<endl;
     break;
    }


    }


    //没有括号的表达式处理函数
    int run_unkh_expr( string & str,map<char ,int >& value_map)
    {


    int a;
    int par_value;//该部分表达式的值
    string::size_type l=str.length();
    string::const_iterator it = str.begin();
    for(;it!=str.end();it++)
    {
     if(*it=='!')
    { //利用string类型的迭代器实现对String对象的字符的遍历访问。erase
    string::const_iterator init_it = it+1;//保存!符后的下一个位置
    change_val(value_map[*(init_it)]);//转换真值

    str.erase(it);//删除否定符号
       }
    }
    it = str.begin();
    par_value=value_map[*it];
    if(l==1)//如果该部分只有一个命题则返回该命题的真值
    {
    return par_value;
    }
    else
    {
    for(;it !=str.end()-1;)
      {   // cout<<"从这儿"<<endl;
           ++it;
    char b=*it;
    // cout<<*it<<endl;
       par_value = deal_cal(par_value,b,value_map[*(++it)]);
      }
    }
    return par_value;
    }


    int run_expr(string & Expr,map<char ,int >& value_map)
    {
    //扫描括号
    int sum_kh=0;//括号数
    string::const_iterator iter;
    string::const_iterator addr_kh[50];//用于记录括号的位置
    char kind_kh[50];//用于记录括号的类型
    for(iter = Expr.begin();iter!=Expr.end();iter++)
    {
    if(*iter=='('||*iter==')')
    {
    addr_kh[sum_kh]=iter;
    kind_kh[sum_kh]=*iter;
    sum_kh++;
    }
    }
    if(0==sum_kh)//如果没有括号
    {
    value=run_unkh_expr(Expr,value_map);
    return value;
    }
    else
    {
    int i=0;
    for(;i<=sum_kh;i++)
    {
    if(kind_kh[i]==')')//找到最内级的括号并跳出循环
    break;
    }
    //取出最内层没有括号的字符串
    string in_str = string(addr_kh[i-1]+1,addr_kh[i]);
    //算出最内层表达式的值
    value = run_unkh_expr(in_str,value_map);
    static char var = '1';


    value_map[var]=value;//将括号整体设为一个字符‘1’
    string::const_iterator ite =  addr_kh[i-1];//"字符(的位置"
    //判断(是不是表达式的开头
    string::const_iterator init_i;
    bool is_begin=false;
    if(ite==Expr.begin())
    {is_begin = true;
    }
    else
    { init_i = addr_kh[i-1]-1;
    }
    {
    Expr.erase(ite,addr_kh[i]+1);//删除掉最内层表达式包括括号在内
    }
    //再在删除的地方插入新的字符‘1’




    if(is_begin==true)
    { Expr = var+Expr;
    }
    else
    {Expr.insert(init_i+1,var);
    }
    var = var +1;
    value = run_expr(Expr,value_map);
     
    return value;
    }


    }
    //求主析取范式和主合取范式的函数
    //为value_map取到所有不同真值组合的函数
    //回溯法


    map<char,int>::iterator it;
    map<char,int> in_value_map;
    void init_value_map(map<char ,int >& value_map)
    {
    map<char ,int >::size_type lern = value_map.size();//用于记录变量的个数



     
        if(it == in_value_map.begin())
    {   cout<<"进行赋值!"<<endl;
    for(map<char,int>::const_iterator bb= value_map.begin();bb!=value_map.end();bb++)
    {
    in_value_map[bb->first]=bb->second;
    }
    it = in_value_map.begin();//重新对it赋值


     }
    if(it == in_value_map.end())//如果已经赋值完毕则想队列中加载组合
    {
     
      inlist_value_map.push_back(in_value_map);//向队列中加载组合


      --it;//如果到底了则只往回走一步,释放最后一步的资源


      return ;//跳出函数
    }


     for(int i=0;i<2;i++)
     { 
     it->second = i;
     ++it;
     init_value_map(value_map);
     
     }
     --it;//每一个子树结束则往回退一步
    }








    int main()
    {   string expr;
    map<char ,int > initial_value_map;
    cout<<"请先输入合式公式表达式"<<endl;
    cin>>expr;

    string::const_iterator iter = expr.begin();
    for(;iter!=expr.end();iter++)
    {
    if(*iter!='!'&&*iter!='&'&&*iter!='~'&&*iter!='-'&&*iter!='|'&&*iter!='('&&*iter!=')')
    {
    initial_value_map[*iter]=1;//为每一个原子命题默认为真
    }
    }
    //输出测试组合赋值函数
    it = in_value_map.begin();
    init_value_map(initial_value_map);
        cout<<"初始化完毕"<<endl;
    //测试合式公式的真值
    for(list<map<char,int>>::iterator ii=inlist_value_map.begin();ii!=inlist_value_map.end();ii++)
    {  
    map<char,int>::iterator ai = (*ii).begin();
    if(ai==(*ii).end())
    {
     cout<<"ii为空值"<<endl;
    }
    for(map<char,int>::iterator yy = (*ii).begin();yy !=(*ii).end();yy++)
    {
    cout<<"cal_value_map  "<<yy->first<<yy->second<<endl;
    }

    int is_true = 0;//用来记录该组合是否能使合式公式为真

    string Expr = expr;
    is_true =  run_expr(Expr,*ii);
    cout<<"此次的真值是:"<<is_true<<endl;


    if(1==is_true)//如果为真则记录在主析取范式队列中 
    {
    xqlist_value_map.push_back(*ii);
    }
    if(0==is_true)//如果为假则记录在主合取范式队列中 
    {
    hqlist_value_map.push_back(*ii);
    }

    }




    //输出主析取范式
        list<map<char,int>>::iterator xqchei;
    xqchei = xqlist_value_map.begin();
    if(xqchei ==xqlist_value_map.end())
    {


    cout<<"该合式公式不存在主析取范式!"<<endl;

    }
    else
    {


    cout<<"该合式公式的主析取范式为:"<<endl;
    for(list<map<char,int>>::iterator iit = xqlist_value_map.begin();iit != xqlist_value_map.end();iit++)
    {

    cout<<"(";
    for(map<char,int>::iterator i = (*iit).begin();i !=(*iit).end();i++)
    {  
    if(i->first>='0'&&i->first<='9')//不输出表达式中的临时数字字符
    {
    ;
    }
    else
    {
    if(0==i->second)
      {
    cout<<"!";
      }
    cout<<i->first;
    map<char,int>::iterator iii=i;
    ++iii;
      if((iii)==(*iit).end())//如果是最后一位元素则不用再输出合取符
      {
        ;
      }
      else
      {
    cout<<"/\\";
      }
    }
    }
    cout<<")";
    list<map<char,int>>::iterator aaa = iit;
    ++aaa;
    if(aaa == xqlist_value_map.end())//如果是最后一组组合则不用再输出吸取符
    {
    ;
    }
    else
    {
    cout<<"\\/";
    }


    }


        cout<<endl;
    }
    //输出主合取范式
        list<map<char,int>>::iterator hqchei;
    hqchei = hqlist_value_map.begin();
    if(hqchei ==hqlist_value_map.end())
    {
    cout<<"该合式公式不存在主合取范式!"<<endl;
    }
    else
    {
    cout<<"该合式公式的主合取范式为:"<<endl;
    for(list<map<char,int>>::iterator iit = hqlist_value_map.begin();iit != hqlist_value_map.end();iit++)
    {


    cout<<"(";
    for(map<char,int>::iterator i = (*iit).begin();i !=(*iit).end();i++)
    {  
    if(i->first>='0'&&i->first<='9')//不输出表达式中的临时数字字符
    {
    ;
    }
    else
    {


    if(1==i->second)
      {
    cout<<"!";
      }
    cout<<i->first;
    map<char,int>::iterator iii=i;
    ++iii;
      if((iii)==(*iit).end())//如果是最后一位元素则不用再输出合取符
      {
        ;
      }
      else
      {
    cout<<"\\/";
      }


    }
    }


    cout<<")";
    list<map<char,int>>::iterator aaa = iit;
    ++aaa;
    if(aaa == hqlist_value_map.end())//如果是最后一组组合则不用再输出吸取符
    {
    ;
    }
    else
    {
    cout<<"/\\";
    }


    }
    }
    }
    展开全文
  • 对任意一个命题公式来说,主析取范式主合取范式都是唯一的。 命题变元指原子化的,P,Q命题。 极小项的定义:包含全部N个命题变元的合式,称其为极小项,且N个命题变元中,每个变元与它的否定不能同时存在,但...
  • 离散数学上机实验,给定一个命题公式,求其主析取范式主合取范式,能力有限,参考了我学长的一篇博客,并进行了许多优化。 本次离散数学实验,我学到了许多东西,也看了自己的不足之处 1).我深刻地体会到在比较...
  • //输出运算结果 } if (hq[0] == -1) //不存在合取范式时 printf("\n该命题公式不存在主合取范式。\n"); else { printf("\n该命题公式的主合取范式:\n\t"); for (i1 = 0; i1 ; i1++) { if (i1 > 0) ...
  • 主析取范式主合取范式

    千次阅读 2021-04-06 15:31:04
    主析取范式 小项 是n个命题变元的合式,其中每个变元必出现且仅出现一次(以本身或否定形式),称这个合式为小项 例:含有两个变元的小项 P ^ Q , P ^ !Q , !P ^ Q , !P ^ !Q 若有n个变元,则有2的n次方个小项 ...
  • 主析取范式主合取范式的c++求解程序

    千次阅读 多人点赞 2019-10-27 19:40:14
    主要思想是:先求真值表,再根据真值表输出主析取范式主合取范式。 用!来表示非,用小写v表示析,用^来表示合,用~来表示双条件,用-来表示条件,用大写字母来表示命题变元。 真值表的求...
  • 题目:根据给定的式子,先输出其真值表,再利用真值表法求主析取范式以及主合取范式,输出答案。 举例:以 (P^Q) V (非P^R) 为例。 程序代码 //(P^Q) V (非P^R) //主合取范式: (非PVQV非R) ^ (非PVQVR) ^ (PV非...
  • i++) //拼接主析主合取范式 { if (truthTable[i][n]) pdnf += '('; else pcnf += '('; for (int j = 0; j ; j++) { cout [i][j]; //输出真值表 if (truthTable[i][n]) { if ...
  • 编程实现用真值表法求任意数量变量的合式公式的主析取范式主合取范式。 要求: 能够列出任意合式公式的真值表并给出相应主析主合取范式。 内容: 编程实现用真值表法求任意数量变量的合式公式的主析...
  • 范式包含析取范式和合取范式,而主析取范式主合取范式的求解也是命题逻辑的重要内容,小项和大项也是必须掌握的内容。
  • 用C语言求解合式公式的主合取范式和主析取范式

    千次阅读 多人点赞 2021-04-30 17:34:28
    这是昨天离散课老师布置的附加题,我最爱的冯老师说历年来计科专业学离散时都会出这个题目。但这几年没人做出来(应该没人是不感兴趣)。 为了能够加更多的学分也是出于自己的好奇,我决定尝试一下。 思路:二进制...
  • 输入命题公式的合式公式,求出公式的真值表,并输出该公式的主合取范式和主析取范式。 Input 命题公式的合式公式 Output 公式的主析取范式主合取范式,输出形式为:“ mi ∨ mj ; Mi ∧ Mj” ,极小项和 ∨ 符号...
  • 离散数学中求合取范式&析取范式

    千次阅读 2018-03-22 17:36:00
    //获取主合取范式 void printSource() { cout ; } void printDNormal() //打印合串 { cout ; } void printCNormal() //打印析串 { cout ; } void printTruthTable(); //打印真值表 }; //构造...
  • 求公式的主合取范式和主析取范式

    热门讨论 2009-12-13 08:44:49
    求公式的主合取范式和主析取范式 c++写的类
  • 本文属于「离散数学」系列文章之一。这一系列着重于离散数学的学习和应用。由于内容随时可能发生更新变动,欢迎关注和收藏离散数学系列文章汇总目录一文以作备忘。此外,在本系列学习文章中,为了透彻理解数学知识,...
  • 真值表需要精确对应命题公式的简化与命题等价命题公式的简化命题等价:真值表相同基础等价公式重言式(永真式)与矛盾式(永假式)重言蕴含式:基础重言蕴含式范式取范式与合取范式主析取范式主合取范式推理推理的...
  • 针对给定的包含任意个变量的真值表,编程实现用真值表法求其所对应的主析取范式主合取范式。 要求: 能够掌握通过真值表求相应主析主合取范式的方法及原理。 代码: /* * Author: Tob_yuhong * ...
  • 关于离散数学主合取与主析取范式的实现,主要通过c++实现
  • 使用C++求命题公式的主析取范式主合取范式

    千次阅读 多人点赞 2018-09-22 17:21:29
    最近的离散数学的一个上机作业,要求任意输入一个命题公式,求它的真值表与主析取范式主合取范式。其中的命题连接词都是用特殊符号来表示(怕麻烦……),并最终选择使用C++来编写程序。 先贴代码: // 五种...
  • 离散数学实验报告
  • 2. 生成主合取范式 给出两个版本,先给一个简单的,怕大家看完都不想往下看了,简单版本的,只需要100多行代码!!!!(好像也不少),但是比第二个版本增加了生成主合取范式的功能,主要是利用了库函数,所以比较...
  • 通过代码编译出的程序帮助用户求出其输入的命题公式的真值表以及主析取范式主合取范式。 要求:能够列出含三个以内变量的合式公式的真值表,并给出相应的主析主合取范式
  • cout 主合取范式为:" ; printAns(ans_v, 'm', '&'); cout 主析取范式为:" ; printAns(ans_vf, 'M', '|'); } void dfs(int n) { if (n == 26) { stack<char> s_s(s); stack<bool> s_t; while (!s_s....
  •  输入真值表(1/0),输出相应的主析取范式主合取范式。 #include #include using namespace std; int Value[10000][10000]; char Variable[7]={'-','A','B','C','D','E','F'}; class Form { public: Form...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 274
精华内容 109
关键字:

离散数学主合取范式