...少なくとも「自己修正」の定義については。
タスク
この課題では、あなたのタスクは、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いくつかの方法で、あなたの答えであり、あなたのソリューションを説明することを奨励しました。