早教吧作业答案频道 -->数学-->
写一个文法使其语言是奇数集S→A丨CAC→CB丨CA→1丨3丨5丨7丨9C→0丨1丨2丨3丨4丨5丨6丨7丨8丨9B→1丨2丨3丨4丨5丨6丨7丨8丨9这样写对吗?错的话哪里错了?
题目详情
写一个文法使其语言是奇数集
S→A丨CA
C→CB丨C
A→1丨3丨5丨7丨9
C→0丨1丨2丨3丨4丨5丨6丨7丨8丨9
B→1丨2丨3丨4丨5丨6丨7丨8丨9
这样写对吗?错的话哪里错了?
S→A丨CA
C→CB丨C
A→1丨3丨5丨7丨9
C→0丨1丨2丨3丨4丨5丨6丨7丨8丨9
B→1丨2丨3丨4丨5丨6丨7丨8丨9
这样写对吗?错的话哪里错了?
▼优质解答
答案和解析
首先分析题意,本题是希望构造一个文法,由它产生的句子是奇数,并且不以0开头,也就是说它的每个句子都是以1、3、5、7、9中的某个数结尾.如果数字只有一位,则1、3、5、7、9就满足要求,如果有多位,则要求第1位不能是0,而中间有多少位,每位是什么数字(必须是数字)则没什么要求,因此,我们可以把这个文法分3部分来完成.分别用3个非终结符来产生句子的第1位、中间部分和最后一位.引入几个非终结符,其中,一个用作产生句子的开头,可以是1-9之间的数,不包括0,一个用来产生句子的结尾,为奇数,另一个则用来产生以非0整数开头后面跟任意多个数字的数字串,进行分解之后,这个文法就很好写了.
看了 写一个文法使其语言是奇数集S...的网友还看了以下:
已知点A的坐标是(3,0),点B的坐标是(-1,0),点C在坐标轴上,且S△ABC=8,写出所有满 2020-05-16 …
matlab中,这个程序错在哪?clc clear alllamada=0.2;theta=0.7 2020-05-16 …
if语句改写成switch语句,【7】请将以下语句改写成switch语句(注意:不允许出现任何形式 2020-05-16 …
0.8写成成数是多少再说说成数是什么要通俗易懂一点八成是多少 2020-05-21 …
1.3.7.10.6.2.0.8写出连加连减或加减混合运算的算式 2020-05-23 …
冰期相对水深0.0,0.2,0.4,0.6,0.8,1.0的测点流速分别为0.30m/s,0.42m 2020-05-27 …
某垂线用五点法测得流速分别为V0.0=0.58m/s,V0.2=0.58m/s,V0.6=0.55m 2020-05-28 …
画平面直角坐标系并求出面积1A(-6,0)B(0,8)C(0,3)求S△ABC2A(6,0)B(0 2020-06-07 …
电池:Sn(S)∣Sn(a1=0.5)∣∣Pb(a2=0.8)∣Pb(s)(1)写出此电池的电极反 2020-06-07 …
电路中有大小为0.2S,(1/8)S,0.5S的几个电阻,还有个受控电流源.我想问这个S代表什么啊 2020-06-23 …