C自定义重写规则
C custom rewrite rule
我有一个硬 C 程序,但我不了解其要求。问题陈述如下:
写一个程序,读取一个单词,一个数字k和几行,每行都有一个重写规则:一个大写字母,=和一个字符串。重写一个单词用给定的字符串替换每个具有规则的字母;其他字符不变。打印通过重写初始单词 k 次获得的字符串。
示例:
B+AxB
2
A=AB
B=A
打印
AB+ABAxAB
非常感谢你,我真的很感激你的帮助,因为我什至不明白这个要求。我希望有人能指出我正确的方向。
因为文件有这个内容
B+AxB
2
A=AB
B=A
我想2
代表应用规则的次数,所以我们开始吧,首先我们有
B+AxB
那么A
应该被AB
代替,所以
B+(A->AB)xB -> B+ABxB
(B->A)+ABx(B->A) -> A+ABxA
然后第二次
(A->AB)+(A->AB)Bx(A->AB) -> AB+ABBxAB
AB+AB(B->A)xA -> AB+ABAxAB
请注意,仅应在原始出现处进行替换。
第二行的数字告诉你应用规则的次数
A=AB
和 B=A
在这种情况下 B+AxB
在第一次替换时扩展为 A+ABxA
,然后在第二次替换中 AB+ABAxAB
我有一个硬 C 程序,但我不了解其要求。问题陈述如下:
写一个程序,读取一个单词,一个数字k和几行,每行都有一个重写规则:一个大写字母,=和一个字符串。重写一个单词用给定的字符串替换每个具有规则的字母;其他字符不变。打印通过重写初始单词 k 次获得的字符串。
示例:
B+AxB
2
A=AB
B=A
打印
AB+ABAxAB
非常感谢你,我真的很感激你的帮助,因为我什至不明白这个要求。我希望有人能指出我正确的方向。
因为文件有这个内容
B+AxB
2
A=AB
B=A
我想2
代表应用规则的次数,所以我们开始吧,首先我们有
B+AxB
那么A
应该被AB
代替,所以
B+(A->AB)xB -> B+ABxB
(B->A)+ABx(B->A) -> A+ABxA
然后第二次
(A->AB)+(A->AB)Bx(A->AB) -> AB+ABBxAB
AB+AB(B->A)xA -> AB+ABAxAB
请注意,仅应在原始出现处进行替换。
第二行的数字告诉你应用规则的次数
A=AB
和 B=A
在这种情况下 B+AxB
在第一次替换时扩展为 A+ABxA
,然后在第二次替换中 AB+ABAxAB