私の宿題は、729〜810語の火星のエッセイ(下記参照)を書くことです。あなたの仕事は、エッセイを生成するプログラムを書くことです。
歴史
20世紀の変わり目頃に、精神主義者のキャサリンエリーゼミュラーは火星人と通信したと言われています。夢遊病のトランスの間、彼女は火星の台本を書きます。心理学者のテオドール・フローニーは、彼女の火星の文章が母国のフランス語に非常に似ていることを発見し、彼の著書「インドから惑星の火星まで」で、キャサリンの火星のアルファベットを記録しました。
以下は、拡張された神話を持つアルファベットに大まかに基づいています。
問題の説明
火星の言語には21の文字があり、ラテン語の各同等物の横に以下に示します。
残念なことに、火星のユニコードはありません(火星は宇宙の一部ですが)ので、ラテン文字を使用し続けています。
英語では、音素は2つの主要なタイプ(子音/母音)に分けられますが、これらは大まかに文字にマッピングされますが、火星には3つの文字タイプがあります。
- 母音:aeimnou
- 硬い子音:bcdgkpt
- 柔らかい子音:fhlrsvz
これに加えて、火星語には単一の句読点、つまりピリオドが含まれています。
火星語は 3~9文字の集合です。すべての火星語には、少なくとも1つの母音、1つの硬い子音、および1つの柔らかい子音が含まれます(任意の配置)。たとえば、fng
、cdaz
、vpi
、およびpascal
火星の言葉です。
火星文は 3~9火星単語スペースで区切られた期間が続くのセットです。
火星の段落は 3~9火星文スペースで区切られた改行に続くのセットです。
火星のエッセイは何の連続した単語の繰り返しが含まれていない火星の段落のコレクションです。
連続した単語の繰り返しは Sが単語の連続したセットである任意の構造のSSです。この定義は文と段落の境界を無視することに注意してください。
例
注:各例の後に単一の末尾の改行があります(火星のすべての段落は改行で終わるため)
火星のエッセイではない
lorem ipsum dolor sit amet。quis nostrudの興奮ullamco分娩。
...多くの理由で。この例は、いくつかの雑則を説明するためのものです。
- loremは、子音がないため火星語ではありません。
- ametは、子音がないため、火星語ではありません。(
m
火星の母音です)。 - quisは、子音がないため火星語ではありません
- qは火星の文字ではないため、quisは火星の単語ではありません
- 興奮は9文字以上あるため、火星の言葉ではありません
- xは火星の手紙ではないため、興奮は火星の言葉ではない
火星のエッセイ
fng cdaz vpi。パスカルは基本を壊した。ポプラーは素晴らしい味。
...火星の段落だからです。火星の段落には3つの火星の文が含まれています。
火星のエッセイではない
fng cdaz vpi。パスカルは基本を壊した。無料のパスカルルール。
... free pascal rules.
火星の文ではない、なぜなら火星の言葉でもfree
なけれrules
ば、硬い子音もないからだ。
火星のエッセイ
fng cdaz vpi。パスカルは基本を壊した。ポプラーは素晴らしい味。 cdaz vpi fng。基本的なブレークパスカル。ポプラーは激しくパンチします。fng cdaz vpi。
... 2つの火星の段落が含まれています。この文fng cdaz vpi.
は2回表示されますが、それで十分です。
火星のエッセイではない
ポプラはfngを味わいます。cdaz vpiパスカル。fng cdaz vpiを壊しました。 パスカルはオミクロンの惑星を壊しました。基本的な怖いヤギ。vpi piv vpi。
...コンストラクトfng. cdaz vpi pascal. broke fng cdaz vpi. [nl] pascal broke
は連続した単語の繰り返しであるため。
チャレンジ
あなたの課題は、入力を受け付けない関数またはプログラムを作成することです。これにより、出力として宿題が生成されます。つまり、プログラムは729〜810ワード(包括的)の火星のエッセイを生成する必要があります。プログラムの出力は有効な火星のエッセイでなければなりませんが、ランダムに生成したり毎回異なるものにする必要はありません。 有効な火星のエッセイカウントを生成するために行うこと。
私がしましたエッセイをチェックするためのC ++プログラム書かれたあなたが使用することを許可していることを。
これはコードゴルフです。バイト単位の最短コードが優先されます。標準の抜け穴は許可されていません。