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

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

9
コルモゴロフマニア
文字列s のコルモゴロフ複雑度は、s を出力する最短プログラム Pの長さとして定義されます。Pの長さがsの長さより短い場合、sは圧縮可能と呼ばれます。それ以外の場合、sは非圧縮可能です。ほとんどの文字列は圧縮できません... この文字列を出力する最短のプログラムを書きます(スペースや改行なし): d9 a6 b6 33 56 a7 95 4b 29 b0 ac 7f 2a aa 6d 19 b8 4b 4c f8 b6 2a ac 95 a1 4b 4e a5 9d b3 e7 c9 4c 49 59 ec 94 b3 aa 6c 93 8f 11 5a 4d …

6
ミラークイン(または頭が痛い)
私は読んでいたコードを逆方向に印刷する-逆クインそして、逆方向のコードも実行可能な場合、これはより興味深いと思いました。したがって、このチャレンジには、他のすべてのルールと要件がありますが、逆になったら有効なソースである必要があります(同じまたは別の言語で、ソースを逆方向に印刷します) 逆クインチャレンジからのすべてのルールとスコアリングが適用されるため、この質問に対するすべての回答がその質問に回答します(ただしスコアも取得しません)。 編集: リクエストにより、すべてのルールがここにコピーされました。 ルール: 実行時に出力p 'を生成するプログラムpを記述します。p'はpを逆方向に、実行時にp 'はpを生成します。 他のファイルを使用しない(例 reverse.txt) 最小コード長は2文字です。 プログラムを回文にすることはできません。 得点: インターネットからプルデータを使用する場合は+50。 独自のソースコードを読む場合は+25。 1文字につき+1ポイント。 最低スコアが勝ちます。
32 code-golf  quine 

30
言葉を伸ばす
単語内の文字を複製するプログラムまたは関数を作成して、単語内の左から右に配置されたすべての複製された文字が入力配列を形成するようにします。 例えば: input: chameleon, [c,a,l,n] output: cchaamelleonn 入力 最初の単語(例chameleon) 文字の配列([c,a,l,n])または配列を表す文字列(caln)、または同様のもの 入力は、関数パラメーター、STDIN、または同等の言語を介して行うことができます すべての入力は小文字(az)になります 出力 変更された言葉 複数のソリューションがある場合、いずれも印刷できます input: banana [n,a] possible outputs: bannaana, banannaa |-|---------|-|--->[n,a] 入力単語(必ずしも配列ではない)に配列内の文字が(順番に)あると仮定することができます。 また、入力に同じ文字が連続していないと仮定することもできます(リンゴ、オタク、緑、ガラス、ドアではありません...) 例 input: abcdefghij, [a,b,c] output: aabbccdefghij input: lizard, [i,a,r,d] output: liizaarrdd input: coconut, [c,o] ouput: ccooconut or coccoonut or ccocoonut input: onomatopoeia, [o,o,a,o,o] output: oonoomaatoopooeia …

7
橋とトンネル
新しい高速道路を構築するのはあなたの責任です。しかし、それは山岳地帯を通り抜けるため、多数の橋とトンネルが必要です。高速道路自体は単一のレベルにとどまる必要があります。 入力 次のように、標準入力で山がどのように見えるかの大まかなASCII記述が提供されます。 /\ / \ /\ / \ /\ / \/ \ / \ / \ /\ / \/ \ / \ _ / \ /\ / \ \ / \ / \ / \ /\ \ / \ / \/ \/ \ \ / \ / \/ \/ …

19
ドワーフとコイン
状況: 数人のMドワーフがゴブリンの胸にN金貨を見つけ、それらを分割しなければなりません。海賊への略奪品の優先順位の割り当てを管理する古代のルールにより、最古のドワーフは次の最古のドワーフよりもコインを1つ多く獲得する必要がありM-1ます。さらに、小人はコインを投げる必要はありません(つまり、小人に負のコインはありません) ドワーフがこのようにコインを分割するのを手伝うか、これが不可能であることを伝えてください。 勝者のコードは常に正しく答える必要があり(この課題は決定論的です)、一般的なコードゴルフ規則に従う必要があります。 入力 コインの数には整数N(3≤N≤1000)が与えられ、スペースで区切られたドワーフの数には整数M(3≤M≤N)が与えられます。 出力 ドワーフが望むようにコインを分割できない場合は、-1(マイナス1)を印刷します。そうでない場合は、各ドワーフが受け取るコインの数を、最古から最年少まで印刷します。数字はスペースで区切ります。 サンプル: 入力 3 3 出力 2 1 0 入力 9 3 出力 4 3 2 入力 7 3 出力 -1 入力 6 4 出力 3 2 1 0
32 code-golf 

14
スアンパンそろばんを描く
入力として単一の整数を取り、スアンパンそろばんを出力する最短のプログラムを書く テストケース 入力: 314159 出力: |\======================================/| || (__) (__) (__) (__) (__) (__) || || (__) (__) (__) (__) || || || || || || || || || || || || || || || || (__) (__) || |<======================================>| || (__) (__) (__) (__) || (__) || || (__) || …

13
ASCIIアートでキューブを描く
タスクの説明: ほぼキャビネットの投影でASCIIアートの立方体を描きます。 Monospaced fonts多くの場合、幅の約2倍の文字があります。入力は垂直線(角を除く)の長さなので、水平線は2倍の文字で描画されるため、結果のイメージは実際にはほぼ立方体になります。引き込み線は、キャビネットの投影で義務付けられている長さの半分で描画されます。 立方体の角はによって表され+、水平線は-、垂直線は|、対角線はを使用します/。 要約:入力をnとし、 立方体の水平方向のエッジは、-2 n個の文字で描かれ、2 n個の文字で構成さ れています。 立方体の垂直エッジは、n文字|で描かれ、n文字で構成されます。 立方体の斜めのエッジは、n / 2文字/で描かれ、構成されます。 立方体の角はで描画され+ます。上記で説明したように、角はエッジの長さにはカウントされません(以下の例を参照してください)。 入力: 標準入力に与えられた入力は、単一の正、偶数であるN(2≤ Nキューブの垂直線の長さを与える≤30)。その後に単一の改行が続きます。 出力: 出力は、上記の規則に従った標準出力のキューブです。行の末尾の空白は無視されます。 サンプル入力1: 2 サンプル出力1: +----+ / /| +----+ | | | + | |/ +----+ サンプル入力2: 4 サンプル出力2: +--------+ / /| / / | +--------+ | | | | | | …

14
コードゴルフの方法であるグローバル債務を解決する
世界の指導者たちは会い、ついに世界的な経済的苦難を解決する最善の(そして唯一の)方法は、彼らがお互いに借りている額を評価し、巨大な小切手でお互いに返済することであると認めました。彼らは、(皮肉なことに、可能な限り低い契約率で)あなたを雇い、そうするための最良の手段を考え出しました。 多くの検討を重ね、簡単な例を描くように頼んだ後、次の仕様を思いつきました。 それぞれの国は、ISO 3166-1 alpha-2コードで表されます。US米国、AUオーストラリア、JP日本、CN中国など... 元帳は、一連の国エントリと各国への支払い額として作成されます。 各国のエントリは、ドメインIDコロンから始まり、余剰/不足の量(10億ユーロ)、その後にセミコロン、コロンで区切られた国のコンマ区切りのリスト、および量(10億単位)ユーロ)彼らは借りている。 国が他の国に何も負わない場合、その国の言及はそのセミコロン区切りの後に入力されません。 赤字は負の数で示され、余剰は正の数で示されます。 値はフロートにすることもできます。 元帳はSTDINから取得する必要があります。元帳の終わりは、空白行の改行で示されます。集計はSTDOUTに配信する必要があります。 元帳の例: Input: AU:8;US:10,CN:15,JP:3 US:14;AU:12,CN:27,JP:14 CN:12;AU:8,US:17,JP:4 JP:10;AU:6,US:7,CN:10 次に、システムは、各国の債務額と債務額を計算し、たとえばAUの場合の黒字/赤字を決定します。 AU = 8(現在の余剰)-10(米国へ)-15(CNへ)-3(JPへ)+12(米国から)+8(CNから)+6(JPから)= 6 すべての計算が完了したら、集計を表示する必要があります。 Output: AU:6 US:-5 CN:35 JP:8 あなたの仕事は、このシステムを作成することです。このシステムは、任意の国の元帳エントリをいくつでも取得でき、すべてが支払われたときに各国の赤字/余剰額を決定できます。 究極のテストは、コードを使用して、以下のテストケースで次の国々の間に負う債務を解決することです。これらの数値は、2011年6月現在のBBCニュースから引用されています。(http://www.bbc.com/news/business-15748696) 演習の目的のために、私はそれぞれのGDPを現在の余剰として使用しています...これは厳密にコード品質保証の演習であることに留意してください... ...経済学について話したい場合、SEにそれを処理する別のサブドメインがあると確信しています... US:10800;FR:440.2,ES:170.5,JP:835.2,DE:414.5,UK:834.5 FR:1800;IT:37.6,JP:79.8,DE:123.5,UK:227,US:202.1 ES:700;PT:19.7,IT:22.3,JP:20,DE:131.7,UK:74.9,US:49.6,FR:112 PT:200;IT:2.9,DE:26.6,UK:18.9,US:3.9,FR:19.1,ES:65.7 IT:1200;JP:32.8,DE:120,UK:54.7,US:34.8,FR:309,ES:29.5 IE:200;JP:15.4,DE:82,UK:104.5,US:39.8,FR:23.8 GR:200;DE:15.9,UK:9.4,US:6.2,FR:41.4,PT:7.5,IT:2.8 JP:4100;DE:42.5,UK:101.8,US:244.8,FR:107.7 DE:2400;UK:141.1,US:174.4,FR:205.8,IT:202.7,JP:108.3 UK:1700;US:578.6,FR:209.9,ES:316.6,IE:113.5,JP:122.7,DE:379.3 さあ、世界の経済的救世主になろう! ルール: 最短のコードが勝ちます...これは結局のところコードゴルフです... 主要なテストケースの出力にコードの回答を入力してください...
32 code-golf  math 

12
vimでのゴルフのヒント
私は最近、vimがゴルフ、特にkolmogorov-complexityに最適であることを認識しました。また、meta vim によれば、少なくともこのサイトの範囲では、完全に受け入れ可能な「プログラミング言語」です。 Vimでゴルフをするための一般的なヒントは何ですか?私は、コードゴルフの問題に適用でき、少なくともある程度Vimに固有のアイデアを探しています(たとえば、「コメントの削除」は答えではありません)。 回答ごとに1つのヒントを投稿してください。
32 code-golf  tips  vim 

30
Adler-32チェックサムを計算する
バックグラウンド Adler-32は1995年にMark Adlerによって発明された32ビットチェックサムで、広く使用されているzlibライブラリ(Adlerによって開発された)の一部です。Adler-32は、32ビットの巡回冗長検査ほど信頼性は高くありませんが、少なくともソフトウェアでは、実装がはるかに高速で簡単です。 定義 LET B = [B 1、⋯、BのN ]バイト配列です。 BのAdler-32チェックサムは、low + 65536×highの結果として定義されます。ここで、 低:=((1 + b 1 +⋯+ b n)mod 65521) high:=(((1 + b 1)+(1 + b 1 + b 2)+⋯(1 + b 1 +⋯+ b n))mod 65521) 仕事 バイト配列を入力として指定し、Adler-32チェックサムを計算して返します。次の条件に従います。 入力は、バイトまたは整数の配列、または文字列として取得できます。 どちらの場合も、印刷可能なASCII文字に対応するバイトのみが入力に含まれます。 入力の長さは、0 <length≤4096を満たすと仮定できます。 出力を印刷する場合は、256までの任意の正のベースを使用できます。 あなたは単項選択した場合は、必ず通訳がまで対応することができ作る2 32 983056 - RAMの16ジブを持つマシン上で出力のバイト。 …

24
モールス信号変換器
標準入力をモールス信号に変換する最短のプログラムを作成します。表にない文字はそのまま印刷する必要があります。
32 code-golf  morse 

19
改良されたシーザー豚ラテン暗号
シーザー暗号の問題は、結果の単語がしばしば発音できないことです。Pig Latinの問題は、デコードが簡単なことです。組み合わせてみませんか? 入力 26個の英語の文字で構成される単語。 出力 まず、単語のすべての子音をアルファベットの次の子音に変更します。したがって、bはc、dはf、zはbになります。次に、すべての母音をアルファベットの次の母音に変更します(uはaに進みます)。最後に、単語の最初の文字が子音である場合にのみ、その文字を単語の末尾に移動し、単語の末尾に「ay」を追加します。 例: cat -> evday dog -> uhfay eel -> iim これはcode-golfなので、最短のコードが優先されます。 大文字小文字は関係ありません。 使用される母音は、A、E、I、O、およびUです。

29
あなたのやり方でそれを倍増
ソースコードの2倍化に関連するいくつかの課題がありました:こことここです。ここでのタスクは少し難しいですが、ほぼすべての言語で実行できるはずです。 このチャレンジでは、任意の正の整数を取り込みます。プログラムはその整数をdoubledで出力する必要があります。ソースコードを2倍にすると、正の整数が取り込まれ、2乗して出力されます。ます。 ソースコードはどのように2倍になりましたか?さて、あなたはそれをあなたの方法で持つことができます。つまり、ソースコードを任意の等しい長さのバイトまたは文字列(またはトークン化された言語のトークン)に分割できます。各チャンクを連続して2回繰り返す。 の初期プログラムABCDEFGHIJKL(長さ12)の場合、考えられるすべての二重化されたプログラムは次のとおりです。 Chunk length | Doubled source code -------------+------------------------- 1 | AABBCCDDEEFFGGHHIIJJKKLL 2 | ABABCDCDEFEFGHGHIJIJKLKL 3 | ABCABCDEFDEFGHIGHIJKLJKL 4 | ABCDABCDEFGHEFGHIJKLIJKL 6 | ABCDEFABCDEFGHIJKLGHIJKL 12 | ABCDEFGHIJKLABCDEFGHIJKL これは、素数のプログラムは2つの方法でしか倍増できないことに注意してください。すべての文字が倍増するか、プログラム全体が2回繰り返されます。 ルール: コードは完全なプログラムまたは機能でなければなりません。 標準的な抜け穴は禁止されています。 標準のI / Oメソッドが許可されます。 空白や改行を含むすべての文字/バイトは、コードの長さでカウントされ、チャンクに寄与します。 あなたは入力とその四角はあなたの言語のint型/整数型で表すことができることを前提としています。 あなたはないかもしれません末尾の改行やその他の文字を想定する。 バイト数の後の見出しにチャンクサイズを指定します。 これはコードゴルフですなので、短いプログラムの方が優れています!2つのプログラムの長さが同じである場合、小さいチャンク長を使用するプログラムが優先されます。(短いチャンク長を使用する長いプログラムがある場合は、投稿する価値もあります!) プログラムが2番目の入力/行を必要とする場合、その値について何も仮定しません。特に、2番目の入力が空の場合、最初の入力と同じ場合、または異なる整数の場合、プログラムは動作するはずです。プログラムが2番目の入力/行を必要としない場合、この制限を無視できます。 サンドボックスリンク

21
マインスイーパタイルの周囲は何ですか?
掃海艇は、すべての地雷の位置を特定することを目的として、地雷が非記述タイルのボードの周りに隠されているパズルゲームです。地雷をクリックするとゲームに負けますが、他のタイルをクリックすると0〜8の数字が表示され、それが直接地雷を囲んでいる数を示します。 番号を指定すると、空のタイルとその周囲の地雷のランダムな*可能な組み合わせを表示する必要があります。これは3x3配列の形式でなければなりません。中央のタイルは、入力として取得される鉱山の数である必要があります。 *すべての組み合わせが発生する可能性はゼロではありません。 例 _ = blank square X = mine 0 ___ _0_ ___ 1 _X_ _1_ ___ 1 ___ _1_ X__ ___ _1_ __X 4 _X_ X4X _X_ 4 X_X _4_ X_X 4 ___ X4X X_X 8 XXX X8X XXX 入力 中央のタイルを囲む鉱山の数(0〜8) 出力 タイルの3x3配列を表示する適切な形式の出力 その他の規則 各組み合わせは、発生する可能性が同じである必要はありません。プログラムの実行時に各組み合わせが発生する可能性がゼロ以外である必要があります。 鉱山と空のタイルには、任意の2文字を選択できます。 これはコードゴルフで、最少バイトのプログラムが勝ちます。

6
教科書を並べ替える
教科書を並べ替える 学校はまもなく開始されます(まだ開始されていない場合)。したがって、教科書を整理する時が来ました。アルファベット順で本を並べ替える必要がありますが、時間がかかりすぎるため、プログラムを作成することにします。 例 入力: _ | | _ |F| | | |o|_|P| |o|B|P| | |a|C| | |r|G| |_|_|_| 出力: _ | |_ |F| | _|o|P| |B|o|P| |a| |C| |r| |G| |_|_|_| 入力 入力は、アルファベット順に並べ替える必要がある書籍のセットになります。:それだけが含まれます|、_、、とA-Za-z。書籍のタイトルは上下に垂直に読まれます。 入力に空白が埋め込まれ、長方形に収まると仮定することもできます。入力に空白を埋め込むことを選択した場合は、回答でこれを指定してください。 プログラムで処理する必要がある本の最大の高さは、失敗せずに5,120行です。 書籍は常に1枚の厚さで、入力では常に少なくとも1冊の本になります 出力 出力は、アルファベット順に整理された同じ本のセットである必要があります。書籍の高さは同じままであり、タイトルを再配置するときは上から同じ間隔にする必要があります。 書籍はアルファベット順にソートする必要があります。あなたの言語がソート機能を備えている場合、それを使用できます。それ以外の場合は、ここで説明するアルファベット順の並べ替えを使用できます。 書籍名の例 _ | | | | |F| |o| |o| | | …

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