タグ付けされた質問 「code-challenge」

コードチャレンジは、他のスコアリングタグ(コードゴルフなど)ではカバーされない客観的な勝ち基準でプログラミングパズルを解くクリエイティブな方法の競争です。

3
JVMバージョンを検出するJavaコードを作成します
目的は、互換性の変更、副作用、バグ、および/またはあるバージョンでは別の方法で、別のバージョンでは別の方法で動作する未定義の動作に依存するJVMバージョンを検出するJavaコードを書くことです。さらに、コードは、空白や読みやすい変数名を犠牲にすることなく、少なくとも少し読みやすくする必要があります。 その目的を確実にするために、正確な正式なルールは次のとおりです。 コードはjavaで記述され、実行中のJREバージョンを出力する必要があります。 コードは、Javaバージョンを検出するために特別に提供されたJDKまたはJRE APIを使用したり、JDKまたはJREバージョンを無料で提供したりしないでください。 コードはリフレクションを使用しないでください。 このコードはHotspot Java SE 5、6、および7でのみ動作する必要がありますが、他のJVMでも動作する場合があります。 コードでは、クラスパスでサードパーティのライブラリを使用しないでください。 コードは、Javaであるかどうかにかかわらず、他のプロセスを開始してはなりません。 コードは環境変数を使用しないでください。 コードは、既存のファイルまたはフォルダーを探すためにファイルシステムを検索してはなりません。 コードは単一のファイルに含まれ、public static void main(String[] args)またはを介して呼び出される必要がありますpublic static void main(String... args)。 コードは、JREに存在する非パブリックAPIを使用してはなりません。 コードは、実行中にNoClassDefFoundError、NoSuchMethodError、ClassNotFoundException、またはNoSuchMethodExceptionを生成してはなりません。 コードは、インターネットまたはローカルネットワークから切断されたシステムで実行する必要があります。 バージョンで1つの方法で動作し、別のバージョンで別の方法で動作する理由を説明する必要があります。 得点 最適なソリューションの測定に使用される方法はmax(n / s)です。nは、これらのルール(少なくともバージョン5、6、および7)に違反することなく検出された異なるJavaバージョンの数であり、sは字句トークンの数です。ソリューションで。

10
昇順行列
「昇順行列」は、任意の要素がそれぞれの行と列で以前に使用されていない最小の利用可能な要素である整数の無限行列(0を含む)です。 | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

7
C:AES FIPS-197 SubBytesテーブルを定数時間コードに置き換えます
FIPS-197(高度暗号化標準 AESとしても知られているが)、これは、多用なるSubBytesように実装することができ、 unsigned char SubBytes(unsigned char x) { static const unsigned char t[256] = { 0x63,0x7C,0x77,0x7B,0xF2,0x6B,0x6F,0xC5,0x30,0x01,0x67,0x2B,0xFE,0xD7,0xAB,0x76, 0xCA,0x82,0xC9,0x7D,0xFA,0x59,0x47,0xF0,0xAD,0xD4,0xA2,0xAF,0x9C,0xA4,0x72,0xC0, 0xB7,0xFD,0x93,0x26,0x36,0x3F,0xF7,0xCC,0x34,0xA5,0xE5,0xF1,0x71,0xD8,0x31,0x15, 0x04,0xC7,0x23,0xC3,0x18,0x96,0x05,0x9A,0x07,0x12,0x80,0xE2,0xEB,0x27,0xB2,0x75, 0x09,0x83,0x2C,0x1A,0x1B,0x6E,0x5A,0xA0,0x52,0x3B,0xD6,0xB3,0x29,0xE3,0x2F,0x84, 0x53,0xD1,0x00,0xED,0x20,0xFC,0xB1,0x5B,0x6A,0xCB,0xBE,0x39,0x4A,0x4C,0x58,0xCF, 0xD0,0xEF,0xAA,0xFB,0x43,0x4D,0x33,0x85,0x45,0xF9,0x02,0x7F,0x50,0x3C,0x9F,0xA8, 0x51,0xA3,0x40,0x8F,0x92,0x9D,0x38,0xF5,0xBC,0xB6,0xDA,0x21,0x10,0xFF,0xF3,0xD2, 0xCD,0x0C,0x13,0xEC,0x5F,0x97,0x44,0x17,0xC4,0xA7,0x7E,0x3D,0x64,0x5D,0x19,0x73, 0x60,0x81,0x4F,0xDC,0x22,0x2A,0x90,0x88,0x46,0xEE,0xB8,0x14,0xDE,0x5E,0x0B,0xDB, 0xE0,0x32,0x3A,0x0A,0x49,0x06,0x24,0x5C,0xC2,0xD3,0xAC,0x62,0x91,0x95,0xE4,0x79, 0xE7,0xC8,0x37,0x6D,0x8D,0xD5,0x4E,0xA9,0x6C,0x56,0xF4,0xEA,0x65,0x7A,0xAE,0x08, 0xBA,0x78,0x25,0x2E,0x1C,0xA6,0xB4,0xC6,0xE8,0xDD,0x74,0x1F,0x4B,0xBD,0x8B,0x8A, 0x70,0x3E,0xB5,0x66,0x48,0x03,0xF6,0x0E,0x61,0x35,0x57,0xB9,0x86,0xC1,0x1D,0x9E, 0xE1,0xF8,0x98,0x11,0x69,0xD9,0x8E,0x94,0x9B,0x1E,0x87,0xE9,0xCE,0x55,0x28,0xDF, 0x8C,0xA1,0x89,0x0D,0xBF,0xE6,0x42,0x68,0x41,0x99,0x2D,0x0F,0xB0,0x54,0xBB,0x16}; return t[x];} この関数は任意ではありません。これは可逆マッピングであり、ガロア体の反転とそれに続くアフィン変換で構成されます。詳細はすべて、FIPS-197セクション5.1.1またはここのセクション4.2.1(わずかに異なる名前の下)にあります。 テーブルとしての実装の1つの問題は、いわゆるキャッシュタイミング攻撃にさらされることです。 したがって、あなたの使命はSubBytes()、一定の動作を示す上記の機能の正確な代替を考案することです。の入力xに依存するものSubBytesが使用されない場合もそうだと仮定します。 配列インデックスとして、 制御オペランドとしてif、while、for、case、またはオペレータ?:; オペレータの任意のオペランドとして&&、||、!、==、!=、<、>、<=、>=、*、/、%。 演算子の右オペランドとして>>、<<、*=、/=、%=、<<=、>>=。 勝ちのエントリでは、単項演算子のための5の重量と、入力に依存するデータパスで実行されるオペレータの数から得られた最も低いコストを有するもの、であろう-と~十分ほど<<1、>>1、+1、-1。他のすべての演算子の重み7、他のカウントとのシフト、または他の定数の加算/サブ(型キャストとプロモーションは無料)。原則として、そのコストはループを展開しても変化せず、入力には依存しませんx。タイブレーカーとして、空白とコメントを削除した後の最短コードでの答えが勝ちます。 UTCの2013年にできるだけ早くエントリを回答として指定する予定です。私はある程度の知識がある言語での回答を検討し、サイズに最適化されていないCへの単純な翻訳としてランク付けします。 好意的なオペレーター、無料のキャストとプロモーション、およびサイズのランキングの最初の省略+1および謝罪-1。*単項の場合と乗算の両方で禁止されていることに注意してください。

17
循環文字シフト後に有効なプログラムを書く
非常に難しい可能性がありますが、このサイトから驚くべきことが出てきました。 目標は、任意の言語で任意のプログラムを作成することです。キャッチは、プログラムが後に有効でなければならないということである任意の文字の循環シフト。 循環文字シフトは、循環シフトに非常に似ています。いくつかの例で明確なことがわかります。 プログラムについて int main() { return 0; } 6文字左にシフトすると、次のようになります。 in() { return 0; }int ma 左に1文字シフトすると、次の結果が得られます。 nt main() { return 0; }i 10文字右にシフトすると次のようになります。 eturn 0; }int main() { r ただし、このプログラムは明らかにルールに準拠していません。 ルール どんな言語でも 勝者は投票数によって決定されます 同じことを行うソリューション、またはローテーションごとにまったく異なることを行うソリューションは、100の仮想アップ投票をスコアに受け取ります。 更新これは十分長い間続いていると思います。最も多くの票(仮想票を含む)を獲得した勝者はマークバイヤーズです。よくやった!

1
正規表現の検証正規表現[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 去年閉鎖されました。 入力として正規表現文字列を受け入れ、それが有効かどうかを確認する正規表現を作成します。基本的に、正規表現はそれ自体を検証できるはずです。(無効な正規表現は検証されないため、使用できません.*。;) フレーバーは、よく知られている実装(Perl、sed、grep、gawkなど)によって完全にサポートされている必要があり、それらの実装がサポートするものを完全にサポートしている必要があります。[弁護士が話すことを心配しないでください。私は、スマート***の可能性のある抜け穴を削除しようとしています。] 私はそれをコードゴルフしたいと思いますが、機能が豊富ではないフレーバーを知って使用している人々に優位性を与えるのではないかと心配しています。または、私の心配は根拠がありませんか?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

5
バギーコードの記述[​​終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 2年前に閉店しました。 今こそ、悪いコードを書く能力を誇示するときです。私は、手に負えないCコンテストに最も類似した新しい種類のプログラミングパズルを試しています。主な違いは、これはそれほど悪意のあるものではないということです:それはいくつかの良いきれいな楽しみです。パズルの目標は、できるだけ多くのバグをプログラムに詰めることです。このコンテストの勝者は、キャラクターごとのバグが最も多いプログラムを書いた人です。 明確化を求める膨大なコメントのスレッドを避けるために、今、バグを限定するものと考えるものを定義する必要があります。 まず、バグはエラーではありません。インタープリターがエラーとして検出できる問題(たとえば、不一致の区切り文字、不適切な形式の構文、nullオブジェクトのプロパティへのアクセスなど)、またはプログラムの実行または続行を妨げる場合は、そうではありません。バグ。それ以外の場合、4文字を入力すると、インタープリターは8つの構文エラーをリストし、バグ文字比率2を要求できます。 第二に、バグは明らかに間違っていてはならず、バグはイースターエッグではありません。これは確かに主観的な基準ですが、この種のコンテストには不可欠だと思います。これは、明確な方法でコードを具体的にマングルする条件付きコードを使用できないことを意味します。(読んでください:誰も違いを知らないので、チューリングピット言語を使用してください)。 第三に、バグはもっともらしいものでなければなりません。これは上記のように主観的ですが、バグは、あまり注意を払っていないか、おそらく無知な人、または間違えた人によって書かれたように見えなければなりません。これには、たとえば、オフバイワンのエラーや、有効で正しく見えるが望ましくない動作を引き起こす構文(括弧の代わりに角括弧を使用するなど)が含まれます。 バグは、プログラムに何らかの望ましくない動作を引き起こす可能性があります。これには、例外的な場合の望ましくない出力、一見無関係に見える何かに基づいて異なる動作が含まれますが、これに限定されません奇数または偶数の秒数)、メモリリーク、データの損失など。 問題の例: すべてのASCII文字を数値の昇順で表示するプログラムを作成します。 回答例: Brainf ***、5文字、1バグ、0.2バグ文字比 +[+.] バグ:1のASCII文字を表示しません.+[.+]。に変更することで修正できます。 さて、あなたは今ではほとんど手に入れているはずだと思う、ここにあなたのパズルがあります: シーザー暗号をデコードし、単語をアルファベット順に並べ替える シーザー暗号は、一連の文字を取得し、アルファベットのn文字分だけシフトして作成されます。アルファベットの最初または最後までずっと進む場合、AはZの後にあり、ZはAの前にあります。次に例を示します。 Mannequin Nboofrvjo //Shifted over 1 or -25 Wkxxoaesx //Shifted over 10 -16 Ftggxjnbg //Shifted over -7 or 19 2つの入力が与えられます(入力は取得できますが、合理的には最も便利です)。最初の入力は単語で、2番目の入力はそれがシフトされる値です。タスクは、デコードされた単語を出力し、アルファベット順にソートされた後にデコードされた単語を出力することです。 例(悪い男の子に不快感を与えない、単なる例です): 最初の入力:gtdx wjbfwiji。ljy Gfi hfssty 2番目の入力:5 最初の出力:男の子に報酬が与えられます。悪いことはできません …

2
自由なn-ポリオミノを持つn X n正方形の個別のタイルの数
最新の「素敵な」 OEISシーケンスであるA328020は、数分前に公開されました。 自由なn-ポリオミノを持つn X n正方形の個別のタイルの数。 このシーケンスは、正方形の対称性までのタイルをカウントします。シーケンスには6つの用語がありますが、ここの人々がさらに拡張できるかどうかを確認したいと思います。 例 ためn=4OEISからこのイメージに示すように、このようなグリッド22があります。 クレジット:Jeff Bowermaster、A328020(4)のイラスト。 チャレンジ この前の課題と同様に、この課題の目標は、このシーケンスで可能な限り多くの項を計算することです1, 1, 2, 22, 515, 56734。n項は、nポリオミノを含むn X nグリッドのタイル数です。 好きなだけコードを実行します。このチャレンジの勝者は、シーケンスのほとんどの用語とそれを生成するコードを投稿するユーザーです。2人のユーザーが同じ数の用語を投稿すると、最後の用語を最も早く投稿した人が勝者となります。

3
三角形を失うことなく三角形配列からポイントを削除する
私が持っている組合せ論の問題、私は上に置くしたいというOEISを -the問題は、私は十分な条件を持っていないということです。このコードの課題は、より多くの用語を計算できるようにすることです。勝者は、最も多くの用語を含む提出物を持つユーザーになります。 問題 辺の長さがnnn三角形の電球の配列を与えたとしましょう: o o o o o o o o o o o o o o o o o o o o o 1 2 ... n 次の例のように、「直立した」正三角形を形成する3つの電球をオンにします。 o o x o o o o o o o o x o o x o o o o o …

7
500バイトで区切られた反復期間の最長期間を書き込みます
あなたの仕事は、シーケンス内の各プログラムの長さが500バイトに制限されている、最も長い期間反復するquineを作成することです。 つまり、次の手順を繰り返す場合: 最初のプログラムから始めます 現在のプログラムを実行する 手順2に戻る 最終的に元のプログラムに戻ります。サイクル内のプログラムの数はスコアであり、最大化しようとしています。 どのプログラムでもエラーは発生しません。各プログラムも同様に実行する必要があります(異なるバージョン、実装、コンパイラオプション、プラットフォームなどはありません)(編集:はい、擬似乱数ジェネレーターのような外部状態は最後に含まれていましたステートメント。外部状態は、各実行後に「リセット」する必要があります。真の乱数を使用する場合、最悪の場合が想定されます。 この課題と最長期間の反復クイン(100対500以外)との違いは、サイクル内のすべてのプログラムも500バイト以下でなければならないことです。これは、可能な最長のサイクルが(256 ^ 501-1)/ 255以下であることを意味します。それはもちろん大きな数字ですが、計算に必要なコードの量という点ではそれほど大きくはありません。したがって、課題は、できるだけ多くの(256 ^ 501-1)/ 255の可能性を使用することであり、忙しいビーバーの課題ではありません。 プログラムが独自のソースコードにアクセスすることは許可されていません。ただし、必要に応じて空のプログラムを使用できます(他の規則に従う場合)。 プログラムを手動でチェックするのは難しいので、理論的な方法を使用してスコアを計算することができます。プログラムにスコアと正確さの説明を含める必要があります。スコアを把握できない場合は、代わりに、サイクル内のプログラム数の下限を事実上のスコアとして使用できます。より良い下限を見つけた場合、または正確な実際のスコアを見つけた場合、これを更新することができます。 これはコードチャレンジなので、最高のスコアが勝ちます! 編集:あなたのスコアが科学的記法であるものを書くことをお勧めします。そうすれば、答えはより簡単に比較できます。他の形式のスコアも特に問題なくプログラムに関連付けられている場合、まったく問題ありません。また、読者はこれに準拠するために以前の回答を編集することをお勧めします。

1
1Dキーボードでのスワイプの最適化
これは、カスタムスコアリングシステムによるコードチャレンジであり、最低スコアが勝ちます。 前書き 多くのスマートフォンでは、2D仮想キーボード上で指をスワイプすることでテキストを入力できます。この技術は通常、推測された単語のリストを出力する予測アルゴリズムと組み合わされ、最も可能性の高いものから低いものへとソートされます。 この課題では: 26文字のサブセットに制限された1次元キーボードをスワイプします。 予測アルゴリズムはありません。各単語が「スワイプシーケンス」によって一意に識別されるようにします。 特定の単語リストの移動の合計数が最小になるようにキーボードを最適化する必要があります。 1次元でのスワイプ 以下は、すべての文字で辞書式にソートされた1Dキーボードです。 ABCDEFGHIJKLMNOPQRSTUVWXYZ 注意:モバイルから閲覧している場合、これは複数の行に表示される場合があります。単一の行と考えてください。 そのようなキーボードで単語 ' GOLF ' を入力するには、次のようにします。 で始まる G 右にスワイプして O 左にスワイプして F そのためLの間に位置しているOとF、私たちはそこに停止せずにスワイプに行きます。 それで、このキーボードの' GOLF 'のスワイプシーケンスはGOFです。 より一般的に: 最初と最後の文字は常に含まれます。 他の文字は、方向の変更が必要な場合にのみ含まれます。 繰り返される文字は、単一の文字と同じように扱われる必要があります。たとえば、上記のキーボードで: ' LOOP 'は次のようにエンコードされますLP(停止なしO) 「GOOFY」は次のようにエンコードされますGOFY(O方向が変更されたために含まれています-二重になっているためではありません) キーボードの最適化 次の単語のリストを考えてみましょう:[' PROGRAMMING '、 ' PUZZLES '、 ' AND '、 ' CODE '、 ' GOLF ']。 …

1
数独王のツアーを最大化する
バックグラウンド 数独は、所定数のパズルであるn × nn×n n \times n のグリッドサイズのボックスに分割し、の各番号のそれぞれの行、列、およびボックスに正確に一度だけ表示されます。nn n 11 1 nn n チェスのゲームでは、王は順番に(最大で)8つの隣接するセルのいずれかに移動できます。ここでの「隣接」とは、水平方向、垂直方向、または斜めに隣接することを意味します。 王のツアーは、ナイト・ツアーのアナロジーです。それはチェスキングの動きで与えられたボード上のすべてのセルを一度だけ訪れる(おそらく開いている)パスです。 仕事 6行6列の数独グリッドを考えてみましょう。 654 | 321 123 | 654 ----+---- 462 | 135 315 | 246 ----+---- 536 | 412 241 | 563 王様のツアー(01〜36): 01 02 03 | 34 35 36 31 32 33 | 04 …

2
マトリックスのルービック分類(別名トーラスパズル)
このコードチャレンジのアイデアは単純です。整数の行列が与えられた場合、ルービックスタイルの動きを適用して並べ替えます。つまり、単一の行または列を選択し、その要素を任意の方向に回転できます。 [1, 3, 2, 4] => [3, 2, 4, 1] (rotate left for rows/up for columns) [1, 3, 2, 4] => [4, 1, 3, 2] (rotate right for rows/down for columns) したがって、任意の次元の整数の行列が与えられた場合、これらのルービックスタイルの変換のみを適用して要素を並べ替えます。行列 ⎡⎣⎢a11a21a31a12a22a32a13a23a33a14a24a34⎤⎦⎥[a11a12a13a14a21a22a23a24a31a32a33a34] \begin{bmatrix} a_{11} & a_{12} & a_{13} & a_{14} \\ a_{21} & a_{22} & a_{23} & a_{24} \\ …

1
GoogleのHopping Bunny
2017年12月4日、Google Doodleはバニーをフィーチャーしたグラフィカルプログラミングゲームでした。後のレベルは非常に重要であり、アトミックゴルフの挑戦の素晴らしい候補のように見えました。 詳細 ゲーム 次の4つの動きがあります:前方にホップ、左折、右折、ループ。これらの動きのそれぞれが1つのトークンであり、それぞれがゲーム内の1つのタイルであることに対応しています。 バニーは直交する4つの方向(北、南、東、西)に直面できます。 バニーは前に飛び出して(正面を向く方向に1マス移動)、左または右に曲がります。 ループには、他のループを含む他の動きがいくつもあり、それらの反復カウントは正の整数です(ただし、ゲームでは技術的に反復カウント0を許可しています)。 ボードはグリッドに合わせた正方形のセットで、バニーは隣接する正方形の間を飛び回ることができます。 バニーはボイドに飛び込むことができません。ボードから飛び降りようとしても何もしないという意味です。(これは明らかに一部の人々にとっては驚きであり、他の人々にとっては失望でした。) 四角はマーク付きまたはマークなしのいずれかです。バニーが正方形の上にあるとき、それはマークされます。 すべての正方形がマークされると、レベルが完了します。 ソリューションが存在すると仮定することができます。 あなたのコード 目的:ボードを指定して、1つ以上の最短の解決策を見つけます。 入力はボードを形成する正方形の位置のリスト(マークされた正方形とマークされていない正方形を区別する)であり、出力は動きのリストです。入力形式と出力形式は、人間が判読できて理解できるものである限り重要ではありません。 勝利基準:各ボードで1分以内に見つかった最短のソリューションの移動数の合計。プログラムが特定のボードのソリューションを見つけられない場合、そのボードのスコアは(5 *正方形の数)です。 ソリューションをハードコードしないでください。あなたのコードは、以下の例として与えられたものだけでなく、入力としてどんなボードでも取ることができるはずです。 例 最初にゲームをプレイし、これらのいくつかを自分で試す機会を与えるために、ソリューションはネタバレに隠されています。また、それぞれについて以下のソリューションが1つだけ提供されます。 Sはバニーの開始広場(東向き)、#マークのない広場、Oマークのある広場です。動きの場合、私の表記はF=前方へのホップ、L=左折、R=右折であり、時間LOOP(<num>){<moves>}を反復<num>して<moves>毎回行うループを示します。ループが最小数を超えて何度でも実行できる場合は、<num>省略できます(つまり、無限大が機能します)。 レベル1: S## FF レベル2: S## # # ループ(2){FFR} レベル3: S## # # ### ループ{FFR} レベル4: ### # # ##S## # # ### LOOP {F LOOP(7){FL}}(DJMcMayhemにより発見) レベル5: ##### # …

2
ツイート内のバイナリテトリス
最近(数年前)、プログラミング ウェブサイトで140バイトのテトリスの実装に関する話題がありました。... 小さいながらも、Tetrisの簡易バージョンであり、完全な実装ではないことがわかりました。コアロジック関数のみが140バイトのJavascriptに適合します。実際に実行するには、別の〜840文字のHTMLが必要です。 もっと良くできる! この課題は、「Binary Tetris」の完全なバージョンを可能な限り少ないツイートで実装することです。 バイナリテトリスルール: プログラムは、少なくとも5列と6行のセルを含む競技場を表示する必要があります。 フィールドのブロックとエッジが明確にマークされている限り、どのような表示方法を使用してもかまいません。 少なくとも2種類のブロックが必要です: #と##。###Lのような形状のブロックやアングルブロックなどの追加ブロックサポートは私に支持されます:Pとバイナリテトリスの最も完全なゲーム(元の機能や回転機能のような最もブロック)は、私の幸福と賞金50倍の賞金を獲得します。 新しいブロックが一番上の行のフィールドに追加され、1つのブロックセルが中央の列を占める必要があります。 ブロックは固定レートで最下行に向かって下降します。ブロックは、ユーザー入力なしでも下降する必要があります。 ブロックがフィールドの下部または下のブロックに触れると、落下が止まり、固定されます。新しいブロックが追加されます。 行のすべての列がブロックで満たされると、その行は空になり、上のすべての固定ブロックが1行ドロップダウンします。 プログラムはキー入力に応答する必要があります。次の機能を実行する3つの一意のキーが必要です 現在のブロックを1列左にシフト 現在のブロックを右に1列シフト 現在のブロックを1行下にシフト 各ツイートには140文字しか使用できません。ツイートに入れることができるマルチバイト文字の使用は許可されています。 ツイートに含めることができるルールは簡単です。ツイートできる場合は、使用できます。 解釈された言語は同じルールに従います。各セクションは仕様に従う必要があります。限り何も実行時エラーが発生しない(と残りはスペック以下有効である)として、あなたの答えは有効である ゴルフのルール: オリジナルの実装は、「tweetable」だったので、この課題は、同じことを必要とします。エントリーは、一連のツイート(140文字以下の行)として送信できる必要があります。 最初のツイートには、コンパイラ/インタープリターの名前、プログラムの名前、およびコマンドライン引数が含まれている必要があります ファイル「P0」として保存されます 次のN個のツイートには、プログラムを一連の行として含める必要があります。 各ツイートは、T <n>という名前のファイルに保存されます(nは1..N)。 各行は前の行に追加され、コンパイルまたは解釈されます。有効なオブジェクトファイルまたはプログラムを生成する必要があります。 プログラムは、最後の行が追加されるまで機能する必要はありません。 プログラムは次の方法で実行されます(疑似bash) interp,prog,args = split P0 /\s/ touch $prog for file in ./T* do cat $prog file > $prog $interp …

2
猫はどこへ行くの?(軌道力学)
ほぼ無質量の猫が(x, y, z)、速度のある点で宇宙船に落とされます(宇宙服とすべてで心配しないでください)(vx, vy, vz)。ポイントには固定された無限に密集した惑星(体積0)があり、加速(0, 0, 0)して距離rを置いてオブジェクトを引き付けます1/r^2。ニュートン重力によると、オブジェクトは時間の経過後にどこに行くのtでしょうか? この場合、ほとんど質量がないということは、の値を出力していることを意味しますlim (mass --> 0) <position of cat>。質量は惑星の重力の影響を受けますが、惑星は猫の重力の影響を受けません。つまり、中心体は固定されています。 これは、コードゴルフに多少似ています:宇宙船の運命は?[浮動小数点バージョン]ですが、これは精度を測定しているため、異なります。 3秒未満で実行する必要があるシミュレーションに基づいたソリューションを実装することも、正確な値を提供するプログラムを実装することもできます(3秒未満で実行する必要があります)。以下のスコアリングの詳細を参照してください。シミュレーションを実装する場合、正確である必要はありませんが、不正確なためにスコアが低くなります。 入力:x y z vx vy vz t、必ずしもx、y、z座標、x、y、およびz方向の速度と時間を表す整数ではありません。猫の速度が厳密にその高度での脱出速度よりも遅いことが保証されています。関数へのパラメーターを含め、どこからでも入力を取得できます。プログラムは、私のラップトップ上で3秒未満で実行する必要がありますt < 2^30。つまり、シミュレーションを実行している場合は、それに応じてタイムステップを調整する必要があります。すべてのテストケースで3秒の制限に達することを計画している場合は、コンピューターで3秒で実行できるように、速度のゲインをより正確に/より正確に調整できる調整可能なパラメーターがあることを確認してください。 出力:x y z時間後の位置t。 二体問題は完全に解決できるので、理論的には完全で正しい答えを得ることができます。 スコアリング:すべてのテストケースで、エラーは出力と「真の」出力の間の距離として定義されます。真の出力は、テストケーススニペットが生成するものと定義されています。エラーが未満の場合、エラーは10^(-8)ゼロに切り捨てられます。スコアは、100(またはそれ以上)のランダムテストケースの平均誤差です。完全に正確な答えを書いた場合、スコア0を取得する必要があります。最も低いスコアが勝ち、コードの長さによって関係が壊れます。 テストケース: 1 0 0 0 -1 0 1000000000 --> 0.83789 -0.54584 0 この場合、軌道は周期2 * piで完全に円形であるため、159154943回旋回した後、猫はおよそ(0.83789、-0.54584)になります。これは、コードがテストされるテストケースではありません。ただし、完全に正確な回答を提出する場合は、これでテストすることをお勧めします。 以下のスニペットは、ランダムな追加のテストケースを生成し、提出を判断するために使用されます。これにバグがあるかどうか教えてください: コードスニペットを表示 var generateTestCase = …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.