DFA は Deterministic Finite Automata の略です。これは、受信者に基づいて文字列を受け入れるか拒否する有限状態マシンです。
ここでは、a で始まり a で終わる文字列を受け入れる DFA を作成します。入力はセット (a,b) から取得されます。これをもとにDFAを設計していきます。ここで、DFA が受け入れる有効な状況と無効な状況について説明します。
DFA が受け入れる文字列: ababba、aabba、aa、a。
DFA で受け入れられない文字列: ab、b、aabab。
このプログラムは、a で始まり a で終わる文字列をチェックします。この DFA は、a で始まり a で終わるすべての文字列を受け入れます。コードは最初と最後の要素が等しいかどうかをチェックし、その間のすべての要素は (a,b) 内の任意の文字にすることができます。
#include <iostream> #include <string.h> using namespace std; int main(){ char str[] = {"ababba"}; int lenght = strlen(str); if(str[0] == 'a' && str[lenght-1] == 'a'){ printf("Accepted"); else{ printf("Rejected"); return 0; } } }
Accepted
以上が入力から「a」で始まり「a」で終わる DFA を構築するプログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。