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

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

28
行列は中心対称ですか?コードも中心対称ですか?
定義 中心対称行列は正方形である行列、その中心の周りに対称です。より厳密には、サイズn × nの行列は、iAAAn×nn×nn \times n以下の関係が満たされます。 i,j∈([1,n]∩Z)i,j∈([1,n]∩Z)i,\: j \in ([1, n] \cap \mathbb{Z})Ai,j=An+1−i,n+1−jAi,j=An+1−i,n+1−jA_{i,\:j}=A_{n+1-i,\:n+1-j} そのような行列の例 これらのマトリックスの対称性の説明を次に示します(前述のウィキペディアの記事から引用)。 偶数側の長さ()の中心対称行列:4×44×44\times 4 ⎛⎝⎜⎜⎜1584267337624851⎞⎠⎟⎟⎟(1234567887654321)\left(\begin{matrix} 1 & 2 & 3 & 4 \\ 5 & 6 & 7 & 8 \\ 8 & 7 & 6 & 5 \\ 4 & 3 & 2 & 1\end{matrix}\right) そして、奇数側の長さ(3×33×33\times …

5
クラスターサイズの克服
フラッシュストレージの信頼性にうんざりして、すべてのプログラムを古き良き1,440 KiBフロッピーのいずれかに保存することにしました。しかし、3,000個のプログラムさえコピーしなかった後、ディスクはいっぱいになりました。それはどうして可能でしょうか?コードゴルフの技術に精通しているため、プログラムのほとんどは100バイトの長さでさえないため、十分なスペースが残っているはずです... スーパーユーザーに問い合わせた後、ファイルシステムのクラスターサイズ、FAT12のデザイナーの邪悪なプロットに悩まされていることがわかります。これは、フロッピーのかなりの部分を未使用のままにして、実際に必要以上に購入を余儀なくさせます。 フロッピーを追加購入しますか?絶対に!複数のプログラムを1つのファイルに保存するだけであれば、クラスターサイズは問題になりません。これは、同じソースコードに対して異なるコンパイラー/インタープリターが異なる動作をするためです。 仕事 単一のクラスター(512バイト以下)に収まり、次のタスクをできるだけ多く解決するポリグロットを作成します。 ひも すべての入力を読み取り、印刷します。 Print Hello、World!。 入力として行/引数(name)を読み取り、ハッピーバースデー[name]を出力します!。 すべての入力を読んで、タブが大好きです!1つ以上のタブレータ(0x09)が含まれていて、スペースが嫌いです!そうでない場合。 2行/引数を読み取り、2番目が最初のサブストリングである場合は真実の値を出力し、そうでない場合は偽の値を出力します。 行/引数を読み取り、その文字が厳密に昇順である場合は真実の値を出力し、そうでない場合は偽の値を出力します。 行/引数および文字を読み取り、その文字のすべての出現のインデックスを出力します。 行/引数を読み取り、出現回数が最も多い文字を印刷します。 数学 間の2つの整数を読む0と255とそれらの合計を印刷します。 0から255までの単一の整数を読み取り、その除算の商と剰余を7で出力します。 1から255までの単一の整数を読み取り、それが合成数(1でも素数でもない)である場合は真理値を出力し、そうでない場合は偽値を出力します。 1から255までの単一の整数を読み取り、それが2のべき乗である場合は真理値を出力し、そうでない場合は偽値を出力します。 間の2つの整数を読む0と255と大きな1つを出力します。 間進整数読み取る0と255を 16進表現を印刷します。 間の単一の整数を読む0と255とのハミング重み(1ビットの数)を印刷します。 単一の整数を読み取るNとの間の1と13と印刷FをN、N 番目の フィボナッチ数。 たとえば、入力の13場合、print 233。 アスキーアート 入力の行/引数を読み取り、フレーム化します。 たとえば、inputのProgramming Puzzles & Code Golf場合、次を印刷します。 +---------------------------------+ | Programming Puzzles & Code Golf | +---------------------------------+ 文字の長方形ブロックを読み取り、時計回りに4分の1回転させます。 たとえば、入力用 tye xll …


16
俳句を出力する実行可能な俳句[非公開]
パズル: 次の短い3行のプログラムを作成します。 声を出して読むと、1行に5/7/5の音節がある 実行時に俳句を出力します。 正しい構造ですが、俳句以外の出力を持つプログラムの例は(Python)です: >>> for x in range(3): ... print "EXTERMINATE HUMANS" ... # I am a Dalek. ... EXTERMINATE HUMANS EXTERMINATE HUMANS EXTERMINATE HUMANS (コメントはちょっとした警戒です。) これは次のように読み上げられます。 範囲3のx 絶滅危print種を印刷! 私はダレクです。 任意の言語が受け入れられます。声を出して読むために、Waka Waka Bang Splatの!@#$%^&*()_+ようなものを認めるなど、必要に応じて記号を無視したり、声を出して発音したりできます。(のようなPerlエントリがあると確信しています)!***(!:, )(*@@@#, )_(*)!. コードまたは出力のいずれかが特におかしい場合、または特に禅の場合の追加ポイント。 編集:あなたの言語が何か面白いことをする前にボイラープレートを必要とするなら(#include <iostream>?)、ボイラープレートを無視してうれしいです。 ポール・リヒターのCommon Lisp俳句を受け入れたのは、それが私を5分間笑わせたからです。 Timwiの独創的なルールベンディング(コンパイラの出力?!)および非常に記憶に残る行についての名誉ある言及"Static void. I long for you." これでこの質問は終わりです。 …

1
ドミノサーキット
スコアボード VisualMelonの提出物の未加工のスコア(ドミノカウント)は次のとおりです。回答が増えたら、これらを以下に説明する正規化されたスコアに変換します。既存のソリューションは、ベンチマークのすべての回路を解決できるようになりました。 Author Circuit: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- VisualMelon 39 45 75 61 307 …

24
ASCIIの再マッピング
チャレンジ ASCII文字を並べ替えるプログラムを作成してください! すべての印刷可能なASCII文字を1回だけ含む単一の文字列を出力する必要があります。この文字列の最初の文字には値1が割り当てられ、2番目の文字には値2などが割り当てられます。 通常、2つの文字が隣り合っている場合(文字コードの違いが1である場合)、出力ではそれらが隣り合って表示されない場合があります。 得点 スコアは、プログラムの出力によって決定されるように、ソースコード内のすべての文字の値の合計になります。 確認セクションを参照して、スコアを計算してください。 最低スコアが勝ちます! ルール 「Printable ASCII」は、32〜126の文字コードを含むように定義されています。 完全なプログラムまたは関数を作成できます。 コードには、印刷可能なASCII文字と改行のみを含めることができます。 あなたのプログラムは何も入力しないかもしれません。 改行の値は常に1です。プログラムの出力には改行を含めないでください。 検証 このスタックスニペットを使用して、コードの出力が有効であることを確認し、コードのスコアを計算します! var result = document.getElementById("result");document.getElementById("submit").onclick = function() {var code = document.getElementById("code").value;var output = document.getElementById("output").value;var values = [];for (var i = 0; i < output.length; i++) {var c = output[i];var v = c.charCodeAt();if (v < …


9
レーシングカーをプログラムする
@kuroinekoへのお祝い。ガントレットトラックで優れたスピード(672ムーブ)の賞金を獲得します。 リーダー:* Nimiが軽量2129を獲得。他のエントリーは大きくなりましたが、かなりのスピードを示しています。 *リーダーは後のエントリにより変更される場合があります。 あなたの仕事は、レーシングカーを高速で運転できる小さなプログラムを書くことです。 ルール プログラムはトラックの画像を読み取ります。車は黄色のピクセルで起動できますが、黒のピクセルを通過して終了する必要があります。あなたの車のパスは、灰色((c、c、c)で、30 <= c <= 220)トラック上にのみなければなりません。 あなたの車は、整数vxとvy((0,0)で始まる)で構成される速度vで各ターンごとに直線で移動します。各ターンの開始時に、プログラムはvxとvyを次のように変更できます。 abs(vx2-vx1) + abs(vy2-vy1) <= 15 更新:最大加速度を15に増やしました。 プログラムは、現在の場所から(場所+ v)までの直線を白でプロットし、先頭に青い点を付けます。この線の下のピクセルが黒の場合、レースを終了しています。それ以外の場合、その行の下のすべてのピクセルが灰色または黄色の場合、次のターンに進むことができます。 プログラムは、白と青のパスを追加したトラックイメージを出力する必要があります。 追加の出力(2015-01-15を追加): 勝利またはボーナスを競いたい場合、プログラムはそれぞれシティまたはガントレットのポイントのリスト(青い点)を出力する必要があります。回答にポイントのリストを含めます(検証用)。ポイントは次のようになります(x0,y0), (x1,y1), ... (xn,yn)。'\n'ページ上のデータに合わせて、文字を含む空白を自由に使用できます。 サードパーティの画像の読み取りと書き込み、線の描画、ピクセルアクセスライブラリを使用できます。パス検索ライブラリを使用することはできません。必要に応じて、必要に応じてPNG画像を他のグラフィック形式(GIF、JPG、BMPなど)に変換できます。 運転するいくつかのトラック 開始する簡単なトラック: レーストラック: 障害物コース: 都市: ナイトメアトラック:ガントレット(他の人が簡単すぎる場合) 得点 スコアは、シティトラックでの結果に基づきます。ポイントは、バイト単位でのプログラムの長さに、レーシングカーがフィニッシュするのにかかった各ターンの10ポイントを加えたものに等しくなります。最低スコアが勝ちます。回答にシティトラックランの画像を含めてください-運転スタイルを確認してください。 次の形式で回答のタイトルを使用してください。 <Racing Driver or Team Name> <Language> <Score> 例:Slowpoke Perl 5329 プログラムは、上記の規則に従って、任意のトラックイメージを走行できる必要があります。テストトラックの最適なパスまたはパラメータをハードコードしてはなりません。他の標準的な抜け穴が適用されます。 同様の課題 これは、Martin:To Vectoryによって提起されたものに似たパズルです。–ベクターレーシンググランプリ。このパズルにはいくつかの違いがあります。 …

27
固有の文字を含むコード生成プログラム
チャレンジ あなたの仕事は、別のコードを出力するコードを書くことです。そのコードは、最終コードが整数1を出力するまで、さらに別のコードを出力する必要があります。チェーンが初めて終了1が出力されます。 どのプログラムも文字を共有できません(ルールセクションには例外が1つあります)。 受賞作品は、最長のチェーンを持つ作品になります。タイブレーカーは、最短の合計コード長になります。 ルール: プログラム、スニペットの両方の機能を使用できます。REPL環境を想定できます。 すべての機能は同じ言語で作成する必要があります シンボルに依存しない言語は許可されていません。これには、Headsecksなどの部分的にシンボルに依存しない言語が含まれます。 関数の出力では、オプションでデフォルトの出力フォーマットを無視できます。これには、後続の改行ans =などが含まれます。 スペース文字(ASCIIコードポイント32)を再利用できますが、次のことに注意してください。 関数の1つで好きなだけスペース文字を使用できますが、他のすべての関数では最大5文字に制限します コードポイント32が言語のスペースでない場合、文字を再利用することはできません。 どのプログラムも入力を受け付けません チェーンは少なくとも2つのプログラムの長さでなければなりません。 例: 初期コードはabc+cab+bacです。この出力:foofoo*123、ターン出力でdisp(~0)、どの出力1。これは3つのプログラムのチェーンで、合計の長さは29(タイブレーカー)です。

2
PPCGハンディキャップシステム
誰もが知っているように、meta は 言語間のコードゴルフのスコアリングに関する苦情であふれ てい ます(はい、各単語は別々のリンクであり、これらは氷山の一角にすぎないかもしれません)。 実際にPythのドキュメントを調べることに煩わされた人たちに非常にWithしているので、コードチャレンジに特化したWebサイトにふさわしい、建設的なチャレンジをもう少し行うのは良いことだと思いました。 課題はかなり簡単です。入力として、言語名とバイト数があります。これらを関数の入力、stdinまたは言語のデフォルトの入力方法として使用できます。 出力として、修正されたバイト数、つまりハンディキャップが適用されたスコアがあります。それぞれ、出力は関数出力、stdoutまたは言語のデフォルトの出力方法である必要があります。タイブレーカーが大好きなので、出力は整数に丸められます。 最もい、ハッキングされたクエリ(リンク -自由にクリーンアップできます)を使用して、コードゴルフの質問に対するすべての回答のスナップショットを含むデータセット(.xslx、.ods、.csvを含むzip)を作成しました。。あなたはこのファイルを使用する(そして、それはあなたのプログラムに利用可能であることを前提とし、例えば、それは同じフォルダ内にあります)、または別の従来の形式にこのファイルを変換することができます(、、など-それだけで、元のデータが含まれていてもよいです!)。名前には、選択した拡張子を付けたままにし てください。.xls.mat.savQueryResults.extext 次に詳細を説明します。言語ごとに、Boilerplate BおよびVerbosity Vパラメーターがあります。これらを一緒に使用して、言語の線形モデルを作成できます。ましょうn実際のバイト数でありc、修正されたスコアです。単純なモデルを使用しn=Vc+Bて、修正されたスコアを取得します。 n-B c = --- V 簡単ですよね?さて、決定するためVとB。ご想像のとおり、線形回帰、またはより正確には最小二乗加重線形回帰を行います。詳細については説明しません。方法がわからない場合は、ウィキペディアがあなたの友人であるか、運がよければあなたの言語のドキュメントです。 データは次のようになります。各データポイントは、バイト数nと質問の平均バイト数になりcます。票を計上するために、ポイントは票の数に1を加えたもの(0票を計上するため)で重み付けされますv。反対票のある回答は破棄する必要があります。簡単に言えば、1票の回答は0票の2回答と同じように数えられます。 次に、このデータは、n=Vc+B加重線形回帰を使用して前述のモデルに適合します。 たとえば、特定の言語のデータが与えられた場合 n1=20, c1=8.2, v1=1 n2=25, c2=10.3, v2=2 n3=15, c3=5.7, v3=5 ここで、関連する行列とベクトルA、yおよびWを、ベクトル内のパラメーターを使用して構成します [1 c1] [n1] [1 0 0] x=[B] A=[1 c2] y=[n2] W=[0 2 0], [V] [1 c3] [n3] …

9
文字列をひっかく
スナックされた文字列は次のようになります。 T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt あなたのタスク 文字列sとサイズをn取得し、スナックされた文字列を出力します。入力しThisIsAnExampleOfaSnakifiedString、3上記の例を生成します。 仕様書 s コードポイント33から126までのASCII文字のみが含まれます(スペースや改行は含まれません)。 s 長さは1〜100文字です。 n各出力文字列セグメントのサイズを表す整数です。「蛇」の曲線を構成する文字の各行(上/下または左/右)はn文字です。例については、テストケースを参照してください。 n 3〜10になります。 出力文字列は常に下向きになります。 各行の末尾のスペースは許可されます。 出力の最後にある末尾の改行も使用できます。 先行スペースは使用できません。 code-golfは、バイト単位の最短コードが勝つことを意味します。 テストケース a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf 4 …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

30
単語検索をしましょう!
この課題では、さまざまな言語の多くのプログラムを含む単語検索を一緒に作成します。 60行25列の空白(·)のグリッドから始めましたが、その一部はRubyプログラムの文字に置き換えられています。 回答するには、まだ使用されていない言語を選択してください。選択した言語を使用して、文字、トークン、行、またはコンソールからのすべての入力を読み取り、印刷するプログラムを作成します。次に、プログラムを単語検索に挿入します。 たとえば、答えとしてPython 3を選択し、プログラムを記述したとしますprint(input())。次に、そのプログラムをグリッドに挿入する必要があります。 回答前のグリッドが次のようになっている場合: ···a·24·········· ··z····t········· 次に、プログラムを2行目に置くだけで、既存のものと重複させることができますt。 ···a·24·········· ··zprint(input()) プログラムは、直線である限り、前方、後方、上方、下方、斜めのどの方向にも配置できます。 しかし、既存のグリッドが次のようになっている場合はどうでしょうか: ···a·24·········· ··z····q········· print(input())既存のキャラクターを変更せずにここに合わせる方法はありません。これは禁止されています。代わりに、プログラムを変更できます。 print( input()) この2行のプログラムはきれいに適合します。 ···a·24·print(··· ··z····q input()) ここでは、空白(·)をスペース()に置き換えます。ただし、スペースは他の文字とまったく同じであり、将来のプログラムで上書きすることはできません。 ワンライナーのように、マルチラインプログラムは任意の方向に配置できます。たとえば、より大きなグリッドでは、プログラムを時計回りに135°回転させることで、次のことができます。 ·········· ········ · ·······i·p ······n·r· ·····p·i·· ····u·n··· ···t·t···· ··(·(····· ·)········ )········· 得点 各回答のスコアは、30を追加された文字数で割ったものです。自分で使用する場合でも、グリッドに既に存在する文字をカウントしないでください。 合計スコアは、すべての回答のスコアの合計に回答数を掛けたものです。最高スコアが勝ちます。 ルール すべての回答は異なる言語で書かれている必要があります。バージョン番号のみが異なる言語(Python 2とPython 3など)は同じと見なされます。 すべての回答は、最新の有効な回答から構築する必要があります。つまり、そのような最新の回答のグリッドを取得し、それにプログラムを挿入します。 プログラムを挿入するには、少なくとも1つの空白(·)を選択した文字に置き換えます。グリッド内の既存のキャラクターを回答に使用できますが、それらを変更したり移動したりすることはできません。 すべての回答に合計500文字を超えて挿入することはできません。 挿入するすべての文字は、プログラムの一部でなければなりません。 プログラムは、印刷可能なASCIIと改行のみで構成されている場合がありますが、連続する2つ以上の連続した改行がない場合があります。 改行はスコアにカウントされません。 関数やスニペットだけでなく、完全なプログラムが必要です。 同じユーザーが2つの連続した回答を書くことはできません。 …

14
数独圧縮
あなたの仕事は、次のような言語でプログラム(または2つの別個のプログラム)を書くことです。 完成した数独ボードを入力(任意の論理形式)として受け取り、文字列に圧縮できます。 圧縮された文字列を入力として使用し、解凍してまったく同じ完成した数独ボードを取得できます(9行の論理形式で出力) 注:数独のルールを活用してください。それがこの挑戦の背後にある考え方です。 ウィキペディアの数独ルール ルール 圧縮出力では、印刷可能なASCII文字(32-126)のみが許可されます(マルチバイト文字なしなど)。 入力は有効な3x3数独ボード(通常のルール、バリエーションなし)であると想定できます。 私は時間制限を課しませんが、ブルートフォースアルゴリズムを作成しません。または、投稿者は投稿する前に投稿をテストできる必要があります(Jan Dvorakに感謝)。 質問や懸念がある場合は、説明を求めたり、コメントで提案を行ったりできます。 勝利条件 スコア= 10個すべてのテストケースの文字数の合計 最低スコアが勝ちます。 テストケース これらを使用して、プログラムの動作をテストできます。 9 7 3 5 8 1 4 2 6 5 2 6 4 7 3 1 9 8 1 8 4 2 9 6 7 5 3 2 4 7 8 6 5 …

15
1〜255の数字のBrainfuckを生成する
1から255までの数値に対して、配列のあるバイトに指定された数値と改行を生成するBFコードを出力するプログラムを作成します。 たとえば、出力の最初の4行は次のようになります(おそらくそうなります)。 + ++ +++ ++++ 勝者は最小source code + output(バイト単位)になります。 明確化と改訂: BFプログラムはラッピングセルを使用します。 出力BFプログラムは、数値を含むセルであるゼロ以外のセルのみで終了する必要があります。 プログラムは昇順で出力する必要があります。 0のプログラムの出力はオプションです。 負のデータポインターは使用できません。<最初のポインタでは何もしません。(スローする方が適切な場合はコメントを残してください)

22
文字列を爆発させる
任意の文字列を指定して、テキストが各対角線に沿って上下に移動する三角形の形式で印刷します。たとえば、の入力は次"Hello World"を出力する必要があります。 d l r d o l W r d o l o W r d l o l l o W r d e l o l H l o W r d e l o l l o W r d l o l o W r …

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