我试图写一个正确的线性上下文无关文法,其中0和1的数之间的差应该是偶数。例如:
010001 = 4 - 2 = 2 (even)
我有一个。也许能帮上忙!我想把它写在prolog上。我做了另外10项练习,但这对我来说太难了。对怎么做有什么想法吗?
我的代码
s --> [].
s --> [1],a.
s --> [0],b.
a --> [1],s.
a --> [0],c.
b --> [1],c.
b --> [0],s.
c --> [].
c --> [1],b.
c --> [0],a.
这在很多情况下都是可行的,
我想知道给定的正则表达式是否是较大正则表达式的子集。例如,给定一个较大的正则表达式((a*)(b(a*),我想知道像(aab.*)或(a.*)这样的正则表达式是否与它匹配。我正在开发一个程序,在这个程序中,我需要找到所有具有给定长度的子字符串,这些子字符串可以由给定的正则表达式形成。
$count=0;
$len=0;
sub match{
my $c=$_[1];
my $str=$_[0];
my $reg=$_[2];
#if($str.".*"!~/^$reg$/){
# return;
#}
if
我有一个算法,它需要对非常大的字符串进行字符级的操作。事实证明,bash子字符串机制c=${string:$curchar:1}非常昂贵,其开销似乎随着字符串的长度而增加。测试表明,将非常大的字符串复制到字符数组并对其进行操作是值得的。考虑下面的代码,它在嵌套循环中使用每个方法访问一个大字符串,以显示缓慢访问对算法的影响。
#!/bin/bash
array()
{
curchar=0
while read -n 1 c ; do
chars[$curchar]="$c"
curchar=$((curchar+1
假设我们有一个像这样的图灵机的功能:
() = { 1, for any where () halts only if w is a palindrome of even length
0, otherwise
如何证明它属于(或不) RE,R,coRE。
我的意思是,我知道我们可以用一个图灵约简来证明它不属于R,但是RE/coRE呢?
我在使用这个正则表达式时遇到了问题:
在字母表Σ={ a,b}上构造定义以下语言的正则表达式
L6 ={所有以不同字母开头和结尾的单词}
以下是我能够解决的一些正则表达式的示例:
1. L1 = {all words of even length ending in ab}
(aa + ab + ba + bb)*(ab)
2. L2 = {all words that DO NOT have the substring ab}
b*a*