...少なくとも「自己修正」の定義については。
タスク
この課題では、あなたのタスクは、3つの文字列を記述することでA
、B
そしてC
その次の性質を満たします。
文字列の
B
長さは少なくとも1です。すべて
n ≥ 0
について、文字列は、選択したプログラミング言語の有効なプログラム(完全に実行可能なプログラムまたは関数の定義を意味します)です。これは、文字列のように、上付き文字は、繰り返しを表し、、、各プログラムは、一つの入力として文字列、および出力として戻って1つの文字列を取るなど。ABnC
AC
ABC
ABBC
ABBBC
いずれ
m, n ≥ 0
にせよ、プログラムが入力付きで実行される場合、それは戻ります。この形式ではない入力の場合、プログラムはクラッシュを含む何でもできます。ABmC
ABnC
ABm*n+1C
形式のいくつかの例program(input) -> output
:
AC(AC) -> ABC
ABC(AC) -> ABC
ABBBBBC(AC) -> ABC
AC(ABC) -> ABC
AC(ABBBBC) -> ABC
ABC(ABC) -> ABBC
ABBC(ABC) -> ABBBC
ABBBBC(ABBBC) -> ABBBBBBBBBBBBBC
ABBBC(ABBBBBBC) -> ABBBBBBBBBBBBBBBBBBBC
ルールとスコアリング
あなたのスコアは、との合計の長さでA
、C
スコアが低いほど良くなります。B
スコアにはカウントされませんが、最初の例A
とC
同様に作成する必要があることに注意してください。
標準の抜け穴は許可されていません。プログラムは、直接または間接的に独自のソースコードにアクセスすることはできません(入力として与えられた場合を除く)。あなたは、文字列を識別するために必要とされているA
、B
とC
いくつかの方法で、あなたの答えであり、あなたのソリューションを説明することを奨励しました。