30
「Code Bowling」というテキストを出力します
コードボウリング Brunswick Bowlingに雇われCode Bowlingて、モニターにテキストを出力する簡単なプログラムを作成しました。この会社はかなりの金額の価値があるとあなたはかなりのためにそれらを詐欺することができます感じビットキャッシュの。 職務記述書には、彼らが得点に基づいて支払うことを明確に示しており、得点システムを有利に操作し、これらの人から可能な限り最大の給与を得ることができると確信しています。そうするためには、得点システムがあなたをそうすることを妨げるように設計されているにもかかわらず、あなたのプログラム/関数にできるだけ多くのコードを詰めることを要求します。 貯金箱を取り出して、コードを書きましょう! チャレンジ ここでの課題は、Code Bowlingここに記述されているとおりに、できるだけ高いスコアでテキストを単に出力することです。(以下のセクション:スコアリングシステムを参照) 先頭と末尾の改行(改行)は許容されます。 コードは、プログラム全体または単なる実行可能関数である場合があります。 ルール 必須:この課題は、Code-Bowling:Common Rules、Revision 1.0.0を使用しています。詳細については、メタを参照してください。 文字:バイト比 Code-Bowlingでは、バイトカウントよりも文字カウントが優先されます。これの明白な理由は、マルチバイトのユニコード文字(例:🁴)をシングルバイトのユニコード文字の代わりに使用してバイト数を増やすことであり、ハイバイトのユニコード文字で最も多くの変数の名前を変更する人についてボウリングをより多くすることです最も戦略的に意味のある複雑なコードを作成する人よりも。 変数/関数/オブジェクト名 すべての変数名(またはオブジェクトポインター、関数名など)は1文字である必要があります。2文字の変数名を使用する唯一の許容時間は、可能な1文字の変数がすべて使用された後です。3文字の変数名を使用する唯一の許容時間は、考えられるすべての2文字の変数が使用された後です。等。 未使用のコード すべてのコードを使用する必要があります。個々のキャラクター(またはさまざまなキャラクターのセット)が削除された場合、プログラムが意味することは、タスクを常に適切に完了することに失敗しなければなりません。当然、プログラムのサブセットは、プログラムの残りがなければタスクを単独で完了することはできません。 コメント プログラム/関数で何らかの形で利用されない限り、文字数に対するコメントは許可されません。 スコアリングシステム: パングラムチャレンジ: パングラムは、すべての文字を少なくとも1回使用する文です。(速い茶色のキツネは怠laな犬を飛び越えます)。 このチャレンジタイプには、完全なパングラムが理論上の最大スコアを達成するように設計されたスコアリングシステムがあります(ただし、すべてのキャラクターを少なくとも1回使用する必要はありません)。さらに、任意のキャラクターを複数回使用するとペナルティが発生します。この課題は、アルファベット文字だけでなく、それ以上にも拡大します。 スコア指標: 使用される各キャラクターは、あなたのスコアを1増加させます。 英数字(az、AZ、0-9)を繰り返し使用すると、繰り返しごとに3ポイント減点されます(最初の使用では減点されません)。 ([!?.-,":';])角括弧を含む基本的な句読点を繰り返し使用すると、繰り返しごとに2ポイント減点されます。 {`~@#$%^&*_+=|\/><}中括弧を含む他のASCII文字を繰り返し使用すると、繰り返しごとに4ポイントが差し引かれます。 スペース、タブ、および改行を使用すると、使用ごとに1ポイントが差し引かれます。つまり、キャラクターの合計にはカウントされません。 上記以外のキャラクター(エキゾチックキャラクター)を使用すると、1回の使用につき1ポイントが差し引かれます。つまり、キャラクターの合計にはカウントされません。 スコアリングツール: 自動化されたスコアリングウィジェットが作成されていると見ることができるここに。 これはコードボウリングの亜種です。最高得点のプログラムが勝ちます!(の最大スコアがあるため94、最初に到達した人(到達可能な場合)は、受け入れられた回答としてマークされますが、他の人は自由に答え続けることができます)