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

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

3
PCGを実装する
PCG。A Better Random Number Generatorを実装するよりもPCG.SEの方が良い問題はありますか?この新しい論文は、高速で予測が難しく、小さく、統計的に最適な乱数ジェネレーターを提供すると主張しています。 最小限のC実装は約9行です。 // *Really* minimal PCG32 code / (c) 2014 M.E. O'Neill / pcg-random.org // Licensed under Apache License 2.0 (NO WARRANTY, etc. see website) typedef struct { uint64_t state; uint64_t inc; } pcg32_random_t; uint32_t pcg32_random_r(pcg32_random_t* rng) { uint64_t oldstate = rng->state; // Advance internal state …
31 code-golf  random 

23
行を揃える!
行を揃える! 文字と複数行の文字列が与えられたら、文字列の各行をパディングして、指定された区切り文字の間に並ぶようにします。 例 入力: , Programming, Puzzles And, Code golf 出力: Programming, Puzzles And, Code golf 入力 入力は、複数行の文字列と文字(これを揃えます)であり、これらを任意の順序/形式で使用できます。文字は1行に1回だけ表示されます。入力の各行の長さは異なる場合があります。 入力は、関数の引数またはSTDINを使用できます。 出力 出力は、中央の同じ文字列である必要があります。1つの末尾の改行が許可され、末尾の空白は許可されません。 出力には、最小限のスペースを埋め込む必要があります。入力内の先頭の空白を削除することはできません(存在する場合)。 出力は、関数戻りまたはSTDOUTからのものです。

30
1日のすべての時間を30分率でリストする
最短回答が勝ちます。 24時間以内に並べ替える必要があります。最後の行にはコンマがありません。 出力は次のようになります。 '00:00', '00:30', '01:00', '01:30', '02:00', '02:30', '03:00', '03:30', '04:00', '04:30', '05:00', '05:30', '06:00', '06:30', '07:00', '07:30', '08:00', '08:30', '09:00', '09:30', '10:00', '10:30', '11:00', '11:30', '12:00', '12:30', '13:00', '13:30', '14:00', '14:30', '15:00', '15:30', '16:00', '16:30', '17:00', '17:30', '18:00', '18:30', '19:00', '19:30', '20:00', '20:30', '21:00', '21:30', '22:00', '22:30', '23:00', …

7
これらのサイコロは非推移的ですか?
非推移的なサイコロは、確率理論の直感に反する素敵な小さなおもちゃです。この課題にはいくつかの定義が必要です。 同時にスローされる2つのサイコロAとBを考えます。私たちは、と言うAが ビート Bを確率あればAよりも大きな数を示すBは確率よりも厳密に大きいBより大きい数を示すAを。 次に、ラベルA、B、Cを持つ3つのサイコロのセットを考えます。このようなサイコロのセットは、次の場合に非推移的と呼ばれます。 いずれかのAはビートB、BはビートC及びCはビートAを または、CがBをビートし、BがAをビートし、AがCをビートします。 私のお気に入りの例の1つとして、次の側面を持つグライムダイスについて考えてみましょう。 A: 3 3 3 3 3 6 B: 2 2 2 5 5 5 C: 1 4 4 4 4 4 興味深いことに、各ダイスの平均は3.5で、通常のダイスと同じです。 次のことを示すことができます。 AはビートBを 7/12の確率で。 BはビートCを 7/12の確率で。 Cは、ビートAを 25/36の確率で。 今、これらの特定のサイコロはさらに奇妙です。各ダイスを2回振って結果を合計すると、反転するビートの順序は次のようになります。 BはビートAを 144分の85の確率で。 Cは、ビートBを 144分の85の確率で。 AはビートCを 1296分の671の確率で。 このプロパティGrime-nontransitiveでサイコロのセットを呼び出しましょう。 一方、2つのスローを使用するときにサイコロが元のサイクルを保持している場合、それらを非推移的に強く呼び出します。(2つのスローにサイクルがない場合、単に非推移的と呼びます。) チャレンジ 3六面ダイス、このセットは持っている上記の特性の決定、および以下の文字列の出力1を考えます:none、nontransitive、Grime-nontransitive、strongly nontransitive。 プログラムまたは関数を作成し、STDIN、コマンドライン引数、プロンプトまたは関数引数を介して入力を取得し、結果をSTDOUTに書き込むか、文字列として返すことができます。 …

30
シンプルASCIIガント
これは簡単です:ASCII ガントチャートを印刷します。 指定されたタスクの範囲(開始時間-終了時間のタプル)で、-各タスク期間(新しいタスクの各タスク)の文字の形式でガントタイムラインを印刷します。 例 私のタスクの範囲は28->35, 34->40, 39->44であるとすると、ガントは次のようになります。 ------- ------ ----- 仕様書 完全なプログラム、名前付き関数、または匿名関数を作成できます。 プログラム/関数は、STDINを介して、または引数としてタスクを受け入れる必要があります。 各タスクは、start->endwhere startおよびendare Integersの文字列として表される必要があります。タスクはスペースまたはカンマで区切られます。または、整数のタプル、または2つの整数の配列/コレクションとして取得することもできます。(たとえば、JavaScriptでは次のように取得できます[start,end]-これは許可されています)。 負でない数のタスク(引数)をサポートする必要があります。 明確にするために、タスクコレクションの単一の引数は許可されていません。単一の文字列引数を解析するか、0個以上のタスク引数をサポートできます。taskはサイズ2のタプルまたはコレクションです。 有効な入力のみが与えられると想定できます。つまり、各タスクには正の期間があります。 戻り値は重要ではありません。コードはSTDOUTにタイムラインを出力する必要があります。 出力:タスクごとに、startスペースの後に(end-start)ダッシュとaが続き\nます。 言うまでもなく、出力行は入力(タスク)順序に対応して順序付けする必要があります。 \nそれがあなたを助けるなら、前のスペースが許可されます。 テストケース Input: (empty) Output: (empty) Input: 0->7,5->6,3->6 Output: ------- - --- Input: 5->20,5->20,2->10,15->19 Output: --------------- --------------- -------- ---- 勝ち これはcode-golfであるため、最小のコード長(バイト単位)が優先されます。 従来、タイブレーカーは以前の投稿です。 「標準的な抜け穴はもはや面白くない」。 ----- 編集 多くの人が単一のタスクコレクション引数を持つことが許可されていることを理解しており、それと元のvarargs要件の 間には大きな違いがないため、使用しない場合は単一のコレクション引数を持つことが許可されていますvarargsオプション、または言語がvarargsをサポートしていない場合。

7
ゴルフの練習:Python [終了]
これは、Pythonでゴルフの最適化を実践する際の課題です。再利用可能なトリックと、いくつかのキャラクターを削るショートカットです。多くの人がPythonゴルファーに精通しており、Python Tipsからの一般的なアイデアを使用します。これらのいくつかはPython固有の機能を使用しますが、これらは見たことがない限り存在しないと思われるため、立ち往生している場合はヒントをご覧ください。 目標: 10個の問題があり、それぞれが最適化のためのPythonコードの参照スニペットとコードの説明にあります。あなたの目標は、それをより短くなるように書き直すことですが、それでも機能的に同等です。 最小化しようとしているスコアは、すべてのスニペットのコードの合計長です。参照スニペットの長さは150です。Tiebreakerは最初の投稿です。 回答の投稿:各問題について、コードとその文字数を投稿します。短いものが見つからない場合は、参照スニペットを投稿できます。自分の投稿を投稿するときに他人の回答を見ないようにすることを目的としています。個々の文字数を含む個々の問題をネタバレにしてください。合計数を公開したままにすることができます。ソリューションのスポイラーを解除したり、新しいスポイラーのないソリューションを投稿してください。 合法性の詳細:機能的同等性とは、プログラムの動作に影響を与えることなくコードを置換できることを意味します(式の一部としてのメモリ使用量や演算子の優先順位などを無視します)。式は、と同等の値を生成する必要があります==。ことに注意してください1.0==1==True。特に明記しない限り、コードに副作用はありません。問題をバージョン固有のものにするつもりはありませんが、念のため、各問題にPythonバージョンを指定できます。 問題1:リストLに少なくとも7つの要素がある限り、繰り返しを続ける # 16 chars while len(L)>=7: 問題2:2つのフロートxとy両方が正であるかどうかを確認します。 # 11 chars x>0 and y>0 問題3:ブール値bがtrueの場合、の最初の要素を削除しLます。それ以外の場合は、そのままにしておきます。 # 12 chars if b:L=L[1:] 問題4:L数字の空でないリストのすべての要素が等しいかどうかを確認します。この問題については、リストを変更してもかまいません。 # 22 chars all(x==L[0]for x in L) 問題5:既にその番号が含まれている場合にのみn、リストの最後に番号を追加します。LL # 16 chars if n in L:L+=[n] 問題6:フロートの符号を表現するx:+1正の場合0、0の場合-1、負の場合。 # 20 chars abs(x)/x if x else …
31 code-golf  python 

13
ランダムなASCIIアートキルトを描く
この課題では、ASCIIアートキルトは、幅24文字、高さ18行のテキストブロックであり、=-<>/\水平方向と垂直方向に対称なキルトのようなパターンの文字が含まれます。 キルトの例: ======================== ------------------------ //\\//\\\//\/\\///\\//\\ <<><<>>>>><<>><<<<<>><>> /\\/\\\\/\/\/\/\////\//\ ------------------------ /\/////\\///\\\//\\\\\/\ \///\/\/\\\\////\/\/\\\/ \///\/\/\\\\////\/\/\\\/ /\\\/\/\////\\\\/\/\///\ /\\\/\/\////\\\\/\/\///\ \/\\\\\//\\\///\\/////\/ ------------------------ \//\////\/\/\/\/\\\\/\\/ <<><<>>>>><<>><<<<<>><>> \\//\\///\\/\//\\\//\\// ------------------------ ======================== すべてのキルトの形式は同じです: それらは常に24 x 18です。 一番上の行(1行目)と一番下の行(18行目)が最後=です。 2行目、6行目、13行目、および17行目が-すべて横切っています。 ライン4と15が同じランダムで左右対称のパターン<と>。 他のすべての行(3、5、7、8、9、10、11、12、14、16)で満たされている/と\全体のキルトが残るように、完全にランダムな方法で、水平および垂直対称。 キルトを縦または横に正確に半分に折り畳むと、キャラクターの形が正確に一致することに注意してください。キャラクター自体が一致することと混同しないでください。たとえば、ライン3とライン16は同一ではなく、垂直鏡像です。 チャレンジ ランダムなASCIIアートキルトを印刷または返すプログラムまたは関数を作成します。 多くのハードコードされた行と対称性により、実際のランダム性は、行3、4、5、7、8、9の最初の12文字から得られます。 4行目の最初の12文字は、任意の長さの12文字の文字列である必要が<あり>ます。 3行目、5行目、7行目、7行目、8行目、9行目の最初の12文字は、任意の長さの12文字の文字列である必要が/あります\(互いに独立)。 これらのランダムな文字列は、それに応じてミラーリングされ、キルト全体が作成されます。 バイト単位の最短回答が優先されます。Tiebreakerは以前の投稿です。 擬似乱数ジェネレーターを使用できます。(いいえ、あなたがいることを証明する必要はありません、すべての 12のcharの文字列<>や/\、あなたの言語のPRNGで生成することができます。) 出力には、オプションで末尾の改行を含めることができますが、キルトに必要なもの以外に末尾のスペースやその他の文字は含まれません。

5
ワンライン水族館
義理の両親の庭には、pondでいっぱいの養魚池があります。次のコードからの抜粋に気付くまで、それは本当に私の頭をよぎりませんでした。 ',') & '_' ...スクリーンから魚の顔を振り返る... それは私に素晴らしいアイデアを与えました... あなたのための私の探求、私の愛するゴルファーは、次のルールで、1行のASCIIアクアリウムを作成することです。 タンクの側面からタンクの反対側までの水槽のサイズは、60文字以上80文字以下でなければなりません。タンクの側面は、パイプ/バー(|)文字を使用して示す必要があります。 魚は水槽の両側で左から右に「泳ぐ」ことができなければなりません。方向転換するため、一方の方向から他方の方向への移行には正面図が必要です。 魚は次のように見える必要があります。 }}< }} ',') 魚が泳ぐ権利 (',' {{ >{{ 魚が泳いでいる左 }}('_'){{ 正面を向いた魚 魚が方向を変えようとすると(30%の確率)、魚は一方向から始まり、正面を向き、次に反対方向を向く必要があります。魚が向きを変える十分なスペースがあることを確認してください。タンク最小のエッジ... 魚が泡を吹いたり方向を変えたりしない限り、魚が向いている方向に進み、水槽の側面の6つのスペース内に入れば、魚は方向を変えます。 魚(左または右)は​​時々(10%の確率で)泡を止めて連続して泡を吹く.oO*ことができます()サイドの近くで泳ぐだけで、スペースを1つ節約する。魚が進む前に泡が消えなければなりません... -ここでのコード表示機能は少し厳しいので、スペースを示す文字を含む魚の動作の一連の例の行...これをコーディングすると、これらのダッシュがスペースに置き換えられると予想されます... ここの各行は、コマ撮りのフレームと考えることができます。 |-}}< }} ',')----------| |--}}< }} ',')---------| |---}}< }} ',')--------| |----}}< }} ',')-------| |-----}}< }} ',')------| |-----}}< }} ',').-----| |-----}}< }} ',')o-----| |-----}}< }} ',')O-----| |-----}}< …

23
「シェーレン」ゲームのポイントを計算する
さて、昨日はクリスマスの2日目で、私の(グランド)両親と私はオランダで呼ばれているように「シェーレン」の試合をしました。内側のプログラマーが私の中に現れましたが、答えがあったとき、私はそれを失いました。リメイクしてほしい。 ルール: 4箱の木製の板sjoelbakがあり、それぞれに番号が付いています。ときschijf(パックのようなオブジェクト)はボックスのいずれかに行くあなたは、そのボックスの上にポイントを取得します。 4つのボックスすべてにschijf がある場合、10は得られませんが、20ポイントが得られます。 例: 左から右へ:3 5 4 3 各ボックスには少なくとも3 個のschijven(schijfの複数形)があるため、20 * 3 = 60ポイントです。 結果値:0 2 1 0 0 * 2 + 2 * 3 + 1 * 4 + 0 * 1 = 10ポイント。 合計で60 + 10 = 70ポイントになります。 入力:左から右へ のschijvenの量、つまり「4 5 4 5」、「4,5、4,5」、「4 \ n5 \ …

22
アスキーアートのゴルフ
ゴルフをしている男性を代表するこのアスキーアートをゴルフしてみましょう。 '\。。|> 18 >> \ 」| O >>。'o | \ | / \。| / /。 ' | jgs ^^^^^^^ `^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ 出典:JGS- http : //www.retrojunkie.com/asciiart/sports/golf.htm ルール: 入力不可 外部リソースは許可されていません 出力は、先頭および末尾の改行を含む等幅フォント(OSコンソール、JSコンソール、HTML <pre>タグなど)で表示されたこのテキストでなければなりません。 引用符または二重引用符を囲むことができます(文字列を出力するとき、JSコンソールは二重引用符を追加します、これは大丈夫です) 最良の答えは、どの言語でも少ない文字を使用することです。 楽しむ!

8
コードゴルフ:カウント諸島
このstackoverflowの質問に触発されたシンプルなコンテスト: 衛星で撮影された表面の画像.が表示され*ます。画像はビットマップで、水は「」でマークされ、土地は「」でマークされています。隣接する ' *のグループは島を形成します。(2つの ' *'は、隣同士が水平、垂直、または斜めの場合に隣接しています)。あなたの仕事は、ビットマップの島の数を印刷することです。 シングル*もアイランドとしてカウントされます。 サンプル入力: .........** **......*** ........... ...*....... *........*. *.........* サンプル出力: 5 勝者は、コード内の最小バイト数のエントリです。
31 code-golf 

18
再帰的な頭字語
目的 ウィキペディアから: 再帰的な頭字語は、それが意味する表現で自分自身を指す頭字語です。 あなたの目標は、文字列が再帰的な頭字語であるかどうかを確認することです。 頭字語は最初の言葉です 単語は大文字と小文字を区別せず、単一のスペースで区切られます。 指定された文字列には、句読点やアポストロフィが含まれていません。 各単語の最初の文字のみが頭字語の一部になります。 関数の単語も指定する必要があります。簡単にするために、すべての単語を機能単語と見なすことができます。 例 f("RPM Package Manager") => { true, [] } f("Wine is not an emulator") => { true, ["an"] } f("GNU is not Unix") => { true, ["is"] } f("Golf is not an acronym") => { false } f("X is a valid …
31 code-golf 

30
キャラクタークロス
私はPCGでの最初のパズルとしてもっと複雑なものを投稿することを期待していましたが、特定の、ええと... スタックオーバーフローに関する宿題の質問が私にこの投稿を促しました。彼らはしたい: 奇数の文字を含む任意の単語に対して次のパターンを印刷します。 P M R A O R G O R R A P M C ++ 文字は、印刷する必要のあるパターンでの騎士の動きです。したがって、他のすべての列は空です。-(これを指摘してくれたxnorに感謝します。) ルール C ++の使用は禁止されています。私はそこにこの質問をリンクするかもしれませんので。 あなたは使用することができstdout、またはすぐに文字列(例えば出力のいずれかの手段alert()JavaScriptでの)。 いつものように、最短のコードが優先されます。

25
特定の範囲にいくつのIPアドレスがありますか?
に触発さ... ネットワーキング-特定の範囲にいくつのIPアドレスがあるかを調べるにはどうすればよいですか? 入力として2つの文字列を受け取り、それぞれが標準のドット表記法で表されたIPv4アドレスであるプログラムまたは関数を記述し、2つのIPアドレス入力を含むこの範囲でカバーされるIPアドレスの数を出力または返します。 IPアドレスを解析するために設計された外部コード、ライブラリ、またはサービスを使用しないでください。(他の文字列処理標準ライブラリ関数は受け入れ可能です。) すべての2 ^ 32 IPアドレスは同じです。放送、クラスEなどは区別されません。 通常のコードゴルフ規則が適用されます。 例えば: "0.0.0.0","255.255.255.255" returns 4294967296. "255.255.255.255","0.0.0.0" also returns 4294967296. "1.2.3.4","1.2.3.4" returns 1. "56.57.58.59","60.61.62.63" returns 67372037. "1","2" is invalid input. Your code may do anything you like.

29
ピッチダーク(アースアワー記念)
あなたの目標は簡単です。プログラムは、コンピューターの画面を完全に黒にしなければなりません。 プログラムが開始された後、画面はすぐに完全に黒くなり、プログラムが終了するまで(任意のキー、またはalt + F4、マウスの動きなど)、そのままに戻らなければなりません。そのため、コンピューターをシャットダウンしたり、モニターの電源を切ったりすることはできません。この間、単一の非黒ピクセルが表示されることはありません。まばたきカーソルも表示されません。 ユーザーは、プログラムを起動した後、画面の外にマウスを移動したり、ケーブルを外したり、ユーザー入力を行ったりする必要はありません。 コンピューターにはモニターが1つしか接続されていないと安全に想定できます。また、標準のデスクトップまたはノートブックコンピューターを想定しています。これは、通常のモニターなしで特定のデバイスで実行するのは簡単すぎるためです。 外部リソース(黒い画像、GUIファイルなど)を使用する場合、バイト単位のサイズがコードサイズに追加されます。 1つのOSファミリでのみ動作する場合、またはopenglなどを必要とするが、非常に特定のハードウェア構成を必要とする場合は嫌です。 ソースコードは、他のプログラム(スクリーンセーバーなど)が使用する構成ファイルだけでなく、プログラミング言語で作成する必要があります。
31 code-golf 

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