用java输出真值表离散数学_离散数学真值表的计算

这篇博客介绍了如何使用Java编写程序来计算离散数学中的真值表。重点在于原式到后缀表达式的转换和遍历所有原子命题的可能取值。程序包含关键函数如原式转后缀表达式、真值运算及输出。通过输入命题公式,程序能够生成并打印真值表。
摘要由CSDN通过智能技术生成

大一菜鸡肝了近两个小时的成果,用于计算真值表;

拿来水一篇博客(并不);

代码中比较重要的两部分是原式向后缀式的转换,遍历所有原子命题的可能取值;

具体的细节看代码吧,尽量添加了注释;

#include

using namespace std;

const int maxn = 105;

const int maxstr = 1e5 + 10;

char s[maxstr],str[maxstr],Vstr[maxn];//依次为原式,后缀式,存放原子命题的符号

bool var[maxn];//不同原子命题的真值

mapv;//储存原子命题对应的编号

void Print_true(bool b){//打印bool对应的真值符号

if(b) printf("T\t");

else printf("F\t");

}

int Priority(char c){//返回运算符的优先级

int p;

switch (c) {

case '!': p = 5; break;

case '&': p = 4; break;

case '|': p = 3; break;

case '-': p = 2; break;

case '=': p = 1; break;

default : p = 0; break;

}

return p;

}

bool

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值