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

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

2
三角グリッド:単純に接続されたポリダイヤモンド
三角グリッドキックを使用している間、三角グリッドにはポリオミノに相当するものがあることを指摘しておきます。それらはポリダイヤモンドと呼ばれ、それらのエッジに沿って正三角形を互いに接着することによって形成された形状です。この課題では、三角グリッドのどのサブセットがポリダイヤモンドであるか、およびそれらに穴があるかどうかを決定します。穴が開いたポリダイヤモンドを作るのに必要な三角形は9つだけなので、コードはできるだけ短くする必要があります。 グリッド 入力にはマーティンの三角グリッドレイアウトを使用します。 三角形の中心がほぼ長方形のグリッドを形成し、左上の三角形が「上を向いている」ことに注意してください。次に、このグリッドのサブセットを記述することができます。次に、含まれる三角形と含まれない三角形を示す長方形の「星図」を指定します。たとえば、次のマップ: ** ** ***** 穴を含む最小のポリダイヤモンドに対応します: 穴 上記の例のように穴(領域ではない領域によって全ての側で囲まれポリイアモンドの一部含まポリイアモンドあるが)トポロジー的に言えば、ない単に接続します。 チャレンジ 上記の「スターマップ」を入力として受け取り、三角グリッドの示されたサブセットが単純に接続されたpolyiamondである場合にのみ、真実を出力する関数またはプログラムを記述します。 その他の例 *** *** ******* ポリダイヤモンドに対応 単純に接続されています。 * * ** ** *** ポリダイヤモンドに対応 単純に接続されています。 ** ** *** ** **** 非ポリダイヤモンドに対応 それがポリダイヤモンドであったとしても、単純に接続されることはありません。 入力仕様 入力は、アスタリスク、スペース、および改行のみで構成されます。 入力の最初の文字は常にスペースまたはアスタリスクになります(グリッドの左上隅にある上向きの三角形に対応)。 最初と最後の行には常に少なくとも1つのアスタリスクがあります。 最初の行の後の行が空にならないという保証はありません。行内の2つの改行が正当な入力に表示される場合があります。 行の長さはすべて同じである必要はありません。 当選条件 これはcode-golfなので、バイト単位の最短の回答が優先されます。 テストケース 真実の地図: 1) * 2) * * 3) ** 4) …

2
交互の辺から数式を解く
式の交互の側の要素を使用して数式を解くプログラムを作成します。それが行われる方法は、左から右に読むのではなく、最初の文字、最後、2番目、最後から2番目の文字を読み取ることです。これにより、評価して出力する必要がある新しい式が得られます。 a*b/c+d-e 135798642 <-- Order you read the expression in ae*-bd/+c <-- Order of operation. 例: 1*3/2+4-5 15*-34/+2 = -255 式が「動作しない」場合は、動作1させるために必要な位置にaを挿入する必要があります。 いくつかの例はおそらくそれをよりよく説明します: Input: 1+1+1+1+1 Result: 23 // Because 1+1+1+1+1 -> 11++11++1 -> 23 Input: 1+2-3+12-5 Result: -19 // Because 1+2-3+12-5 -> 15+-22-13+ -> 15+-22-13+1 -> -19 // | // Not …

6
カードペア確率
整数値[ 1、M ] のカードのNコピーで構成されるデッキの合計がN * Mのカードである場合、値が1のカードが値が2のカードに隣接している確率を計算します。 ソリューションは正確または近似であり、同じ入力が与えられたすべての実行で同じである必要はありません。与えられた答えは、真のソリューションの+/- 5%以内である必要があります(RNGが不利になる可能性は非常にまれです)。プログラムは、妥当な時間内(たとえば、使用しているハードウェアでは10分未満)で答えを出す必要があります。MとNは妥当な小ささで、エラーチェックは必要ないと思われるかもしれません。 デッキは循環的ではないため、最初のカードが1で最後のカードが2の場合、これは隣接要件を満たしていません。 テストケースとして、N = 4およびM = 13(標準の52カードデッキ)の場合、予想されるソリューションは〜48.6%です。 これは、ランダムシャッフルを使用したPython + NumPyでの非実装の例です。 from __future__ import division from numpy import * def adjacent(N, M): deck = array([i for i in range(1, M+1)]*N) trials = 100000 count = 0 for i in range(trials): random.shuffle(deck) ores = (deck …

15
今年の干支
2015年は山羊の年でした。この課題では、どの動物がその年を表すかを理解します。この複雑な問題を回避するために、中国の新年を計算する必要はありません。 ゾディアックでは12頭しかいないので、コードはできるだけ短くする必要があります。 例 プログラムはシステム年を取得する必要があります。最初の行は参照用です 2015 Goat 1924 Rat 1923 Pig 2008 Rat 仕様 干支の順序は次のとおりです。 Rat, Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, Monkey, Rooster, Dog, Pig Rat2008年に始まり、Pig2007年になりOx、2009年になり、最後にループします。 出力は正しく大文字にする必要があります。

1
ペントミノバリデーター
ペントミノを見て長方形になっているかどうかわからない人のために、それを行うプログラムを作成することにしました。 あなたのタスク 12個の一意の文字を含む改行で分割された入力がある場合、それが有効なソリューションであるかどうかを判断します。 有効な解決策は 各文字が5つある(改行を除く) キャラクターの各セットは完全に接続されている必要があります キャラクターの各セットには固有の形状が必要です 通常の長方形である 有効なソリューションである場合は、真の値を出力し、そうでない場合は、偽の値を出力します。 プログラムは関数でも完全なプログラムでもかまいませんが、stdinから入力を受け取り、stdoutに出力する必要があります。 テストケース 有効なソリューション 000111 203331 203431 22 444 2 46 57 666 57769! 58779! 58899! 5889!! 00.@@@ccccF111//=--- 0...@@c))FFF1//8===- 00.ttttt)))F1/8888=- 無効な構成 invalid (doesn't contain 12 unique characters) 111112222233333444445555566666 77777888889999900000qqqqqwwwww (Each set has the same shape) 1234567890qw w1234567890q qw1234567890 0qw123456789 90qw12345678 (None of …

6
クロネッカー記号を計算する
こことここに関連リンクがありますが、ここに短いバージョンがあります: 2つの整数の入力がaありb、負の無限大と無限大の間にあります(必要な場合は範囲​​を制限できますが、関数は負の入力を受け入れる必要があります)。 クロネッカー記号の定義 (a|b)入力aおよびb場所のクロネッカーシンボルを返す必要があります (a|b) = (a|p_1)^e_1 * (a|p_2)^e_2 * ... * (a|p_n)^e_n ここでb = p_1^e_1 * p_2^e_2 * ... * p_n^e_n、およびp_iおよびe_iは、の素因数分解における素数と指数ですb。 ここで定義されている奇数の素数のp場合。(a|p)=a^((p-1)/2) (mod p) の場合b == 2、(n|2)={0 for n even; 1 for n odd, n=+/-1 (mod 8); -1 for n odd, n=+/-3 (mod 8) の場合b == -1、(n|-1)={-1 for n<0; …

5
DCSS遺体安置所ファイルパーサー
この課題では、ローグライクゲームのDungeon Crawl Stone Soupの遺体安置所ファイルを解析して、STDOUTに出力する必要があります。 これらの遺体安置所のファイルは何ですか? 死ぬと、そのキャラクターのデータが入ったテキストファイルが生成されます。キャラクターが持っていた装備、最後の数ターンに何が起こったのか、そして彼が殺したモンスターの数がわかります。 あなたはここで死体安置所ファイルの例を見つけることができます チャレンジ あなたの仕事は、これらのファイルの1つをSTDINから取得して解析し、データをSTDOUTに出力するプログラムを作成することです。 この課題を少し簡単にするには、テキストの最初のブロックを解析するだけです。(までThe game lasted <time> (<turns> turns). 次の情報を解析して出力する必要があります。 バージョン番号。 スコア。 キャラクター名、タイトル、人種、クラス。 キャラクターレベル。 死/勝利の原因。 ランが続いたターンの量。 例: Dungeon Crawl Stone Soup version <version number> character file. <score> <name> the <title> (level <level>, 224/224 HPs) Began as a <race> <class> on Mar 16, 2015. Was …

6
確率分布のAPIを実装する
前書き この課題の課題は、単純な確率分布に対して使用可能なミニライブラリを形成する単純な関数のコレクションを実装することです。ここで使用したい難解な言語のいくつかに対応するために、次の実装が受け入れられます。 名前付き関数(または最も近いもの)のコレクションを定義するコードスニペット。 名前付き関数または無名関数(または最も近い同等物)に評価される式のコレクション。 複数の名前付き関数または匿名関数(または最も近い同等物)に評価される単一の式。 コマンドライン、STDINまたは最も近い同等物から入力を取り、STDOUTまたは最も近い同等物に出力する独立したプログラムのコレクション。 機能 必要に応じて短い名前を使用して、次の関数を実装する必要があります。 uniform2つの浮動小数点数aとを入力として取りb、の一様分布を返します[a,b]。あなたはそれを仮定することができa < bます。ケースa ≥ bは未定義です。 blend入力として3つの確率分布を取りP、QそしてR。確率分布を返します。確率分布はS、値x、yおよびzfrom P、QおよびRをそれぞれ描画し、yif x ≥ 0およびzif を生成しx < 0ます。 over入力として浮動小数点数fと確率分布を取り、から抽出された乱数Pに対してx ≥ f保持される確率を返します。xP 参考までに、over次のように定義できます(疑似コード)。 over(f, uniform(a, b)): if f <= a: return 1.0 else if f >= b: return 0.0 else: return (b - f)/(b - a) over(f, blend(P, …

24
これはどれくらい前ですか。
これはどれくらい前ですか。 ルール 各提出物は完全なプログラムでなければなりません。 プログラムは入力を2つのカンマ区切りの日付形式YYYY-MM-DDで受け取り、2 番目の日付から経過した日数を、今日が最初の日付であるかのようにSTDOUTに出力する必要があります(2番目の日付が将来の場合は、負の数)に加えて、オプションの末尾の改行のみ。両方の日付がグレゴリオ暦であると想定します。 プログラムはSTDERRに何も書き込まないでください。 提出物をテストできるように、通訳が必要です。 送信は、適切な(既存の)エンコーディングでバイト単位でスコアリングされます。通常(必ずというわけではありません)はUTF-8です。Foldersのような一部の言語は、スコアを付けるのが少し難しいです。疑問がある場合は、Metaで質問してください。 これはコードゴルフなので、最短のコードが勝ちます 例 入力: 2015-12-03、2015-12-01 出力: 2 入力: 2015-12-03、2014-12-01 出力: 367 入力: 2015-12-03、2013-12-03 出力: 730 スニペット この投稿の下部にあるスタックスニペットは、a)リーダーボードとして、b)言語ごとの受賞者のリストとして、回答からカタログを生成します。 回答が確実に表示されるようにするには、次のMarkdownテンプレートを使用して、見出しから回答を始めてください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを向上させる場合は、古いスコアを打ち消すことで見出しに残すことができます。例えば: ## Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数値を含めたい場合(たとえば、スコアが2つのファイルの合計である場合、またはインタープリターフラグのペナルティを個別にリストしたい場合)、実際のスコアがヘッダーの最後の数値であることを確認してください。 ## Perl, 43 + 2 (-p flag) = 45 bytes 言語名をリンクにして、スニペットに表示することもできます。 ## …
9 code-golf  date 

7
立方体の頂点とその三角形を印刷する
立方体の頂点の座標を出力します。次に、立方体をカバーする12個の三角形のリストを出力します。各三角形は、一貫して方向付けられた3つの頂点インデックスのリストです。出力は、異なる10進数のASCII文字列でなければなりません。このゴルフには入力がありません。勝者は最も少ない文字で、文字セットはUnicodeです。 例として、0,0,0の角にある1x1x1の立方体を考えます。立方体の8つの頂点は、3Dデカルトグリッド上の次のxyz座標で記述できます。 x y z = (0,0,1) (1,0,1) (1,1,1) (0,1,1) (0,0,0) (1,0,0) (1,1,0) (0,1,0) 各頂点にはインデックスを与えることができます: x y z->index: 0 0 1->0, 1 0 1->1, 1 1 1->2, 0 1 1->3, 0 0 0->4, 1 0 0->5, 1 1 0->6, 0 1 0->7 次に、上面を考慮します。頂点のインデックスは0〜3です。2つのカバーする三角形は、それぞれ3つのインデックスで表すことができます。 [0,1,2] [2,3,0] キューブの上から見たこの上面の写真は次のとおりです。 3_____2 | /| | …

1
こんにちは、私は私の小さな猫の写真を取り戻したいです
注意:状況で提示されたものはすべて完全に偽物であり、チャレンジをもう少し楽しくするためにここに配置されました;)...または多分;) === ===送信の開始=== === こんにちは、 最近ディスク障害が発生しました。うまくいけばバックアップがあり、今は写真を取り戻したい。ただし、私が住んでいるパラレルユニバースでは、すべてのバックアップが破損しているように見えます。しかし、ユーザーがファイルを見つけるのに役立つ特別なツールがあったので、それは問題ではありません。それらはあなたのものと少し似ており、画像のように見えるヘッダーをディスクの周りで探します。彼らはまだベータ版であるため、ソフトウェアは見つけた画像を復元し、ランダムな名前を付けて、以下を含むリストを出力します。 写真を撮ったカメラのモデル、または-入手できない場合はシングル。モデルにはスペースを含めることができますが、スペースを含めることはできません-。 タブ文字(\t、ASCII 9) 写真ファイルの名前。 ファイルは標準のテキストファイルで、次のようになります。 [...] - uyfeiebsvH.jpg - hv754ce758.gif - 8321214736.jpg - FgnvsfHJBs.jpg - OMGILOVYOU.jpg - HElloDearH.png - umanHAYYSG.jpg COOLCAM S1332 umanIAYYSG.jpg iCell 7G 1234567890.jpg [...] ファイルは非常に大きく、モデルがあるすべてのファイルを別のディレクトリに移動するために、小さなUbroを使用することはできません。 親愛なる人間、私はあなたの助けが必要です。カメラに関するデータが含まれているすべての写真を別のディレクトリに移動してほしいので、このアイコンの混乱、スクリーンショットから私のかわいい猫の写真を見つけることができました... ただし、これらのバックアップはMy LiquidStateDrive46Xで実行されているため、十分な空き領域がありません(実際にインターネットをダウンロードしているので、他の何かをダウンロードするのは困難です。かろうじてウェブをサーフィンし、あなたが私が見つけた唯一の人、人間です!) そんな風に生きさせないで!私のために機能する小さなプログラムを書いて、ウブロを少し節約してください。 これはコードゴルフなので、最短のプログラムが勝ちます 私はあなたのプログラムHUMANを起動できるようにする必要があります!そのため、プログラムに既存のインタープリターがあることを確認してください。 リストファイルは、スクリプトを起動したディレクトリにあると期待できます。./list.txtという名前になります 画像を./withmodel/に移動する必要があります 復元されたすべての画像は、プログラムを起動した場所と同じディレクトリにあります 彼の名前に-を含む画像はありません。カメラモデルにも同じことが言えます 単純な関数ではなく、実際のプログラムである必要があります。 インターネットにアクセスできません。ダウンロードしています!これは本当に重要です。 猫の画像がすぐに必要な場合、または生き残れない場合:このコードゴルフは、この日にまだ生きている場合、10月10日に終了します。 === ===送信終了=== ===

5
10進数と2 ** iの基数で表を印刷する
コンピュータはバイナリで生きています。すべてのプログラマーはバイナリーを知っています。 しかし、2**xベースは非実用的であるとしばしば無視されますが、それらはバイナリとの美しい関係を持っています。 そのような美しい関係の一例を示すために、19が私の証言になります。 19 10011 103 23 13 j 19は10進数で、わかりやすくするために含まれています。 10011は2進数で19です。 103、base 4では、バイナリから次のように作成されます。 log2(4)== 2、2つ覚えておきましょう。 2の倍数の長さになるようにパッド10011-> 010011 2 x 2の数字を左から右に取り、2桁の2進数として扱います。 01-> 1 00-> 0 11-> 3 完了、base-4の10011は103です。 底が8の場合、log2(8)= 3と同じですが、3行3列です。 パッド010011 010-> 2 011-> 3 23、完了。 基数16の場合、log2(16)= 4と同じですが、4行4列です。 パッド00010011 0001-> 1 0011-> 3 13、完了。 仕事 入力として最大数を指定すると、テーブルを出力します base-ten-i base-two-i base-four-i base-eight-i base-sixteen-i …

9
ラブテスターコードゴルフ
2つの名前に共通する文字の総数を数え、その長さの積を見つけるプログラムを作成し、「愛のテスター」として機能します。 条件:1:1の回答(3つのうち3つなど)の出力が得られない場合があります。 入力 STDINまたは最も近い代替からの2つの名前。 出力 x大文字と小文字を区別せずに、2つの名前に共通する文字の総数として計算します。y名前の長さの積として計算します。次に、STDOUTまたは最も近い代替物への出力は Name1 and Name2 have x out of y chances of love. 例 入力: Wesley Polly 出力: Wesley and Polly have 2 out of 30 chances of love. ウェズリーとポリーには2文字の共通のがyありl、長さの積は6 * 5 = 30です。 入力: Bill Jill 出力: Bill and Jill have 3 out of 16 …

3
ドロップ・オブ・カオス(最小限の非周期的シーケンスの構築)
ここでの考え方は、ほぼ繰り返しパターンを生成することです。つまり、いくつかのサブシーケンスの繰り返しを回避するために、構築されるシーケンスは最後の瞬間に変更されます。タイプAAおよびABAのサブシーケンスは避けてください(BはAより長くありません)。 例: 説明をわかりやすくするために、小さな例をすべてリストすることから始めます。0から始めましょう。 有効:0 無効:00(AAパターン) 有効:01 無効:010(ABAパターン) 無効:011(AAパターン) 有効:012 有効:0120 無効:0121(ABAパターン) 無効:0122(AAパターン) 無効:01200(AAパターン) 無効:01201(ABAパターン; 01-2-01) 無効:01202(ABAパターン) 有効:01203 今で4は、証明はありませんが、だけが必要な何百もの文字のシーケンスを簡単に見つけたので、a は必要ないことを強く信じています0123。(おそらく、AAパターンを持たない無限ストリングを作成するために必要なのは3文字だけであることに密接に関連しています。これにはWikipediaのページがあります。) 入出力 入力は、単一の正のゼロ以外の整数nです。あなたはそれを仮定するかもしれませんn <= 1000。 出力は、n禁止パターン(AAまたはABA)のいずれかに一致するサブシーケンスのない文字シーケンスです。 入力と出力の例 >>> 1 0 >>> 2 01 >>> 3 012 >>> 4 0120 >>> 5 01203 >>> 50 01203102130123103201302103120132102301203102132012 ルール 0123使用できるのは文字のみです。 BはAよりも長くありません。これは012345、次の6理由で従う必要がある状況を回避するためです0123451:1-2345-1。言い換えると、シーケンスは簡単で興味をそそらないものになります。 nハードコーディング以外の任意の方法で入力できます。 出力は、どちらが簡単かによって、リストまたは文字列のどちらかになります。 力ずくはありません。の実行時間は、非常に遅いマシンでは数分程度、せいぜい1時間程度にする必要がありますn=1000。(これは、のすべてのn長さの順列をループするだけのソリューションを不適格にすることを目的としている{0,1,2,3}ため、トリックや類似のトリックは許可されていません。) 通常どおり、標準の抜け穴は許可されていません。 …

1
あなたの出身地はどちらですか?
INTERCALは素晴らしい言語ですが、他の人のコードを理解するのは必ずしも容易ではありません。これは、COME FROMステートメントを使用する場合に特に当てはまります。 チャレンジの定義 INTERCALプログラムのソースコードをテキスト/データストリームとして取得するプログラムまたは関数を記述します。関数を作成する場合は、関数を呼び出すプログラムも提供することをお勧めしますが、スコアにはカウントされません。 関数の出力は、以下の指示に従って、プログラムが行うジャンプのテキスト/データストリームになります。出力は印刷する必要はありませんが、(たとえば)文字列の配列ではなく、単一のテキストである必要があります。 出力の各行は、COME FROMになるステートメントと、そのCOME FROMステートメントの行番号で構成され、で区切られます->。例: (310) DO .4 <- .3 -> 55 ソースコードのこれらの行をトリミングできますが、そうする必要はありません。 テストケースは、計算されていないラベル(つまり、整数ラベル)のみで構成されます。 出力は、COME FROMになるステートメントのソースコードの順序で並べ替える必要があります。ラベルではなく、COME FROMステートメントまたはそのラベルの順序ではありません。 複数のステートメントが同じラベルから来る可能性があります。このような場合は、COME FROM行番号を並べ替えて、コンマで区切る必要があります。 ステートメントがそれ自体から来る可能性があります。 COME FROMステートメントの前にNOTステートメントを付けることができます。このような場合、行番号は角括弧で囲む必要があります。 COME FROMという単語はコメントに含めることができ、無視する必要があります。ファイルを完全に解析する必要はありません。ラベル(括弧内の数字)が後に続く場合は、それが実際のステートメントであると想定できます。 得点 応募者は、プログラムまたは機能のキャラクターの長さによって採点されます。 テストケース これらのテストケースはすべて、calvinmetcalf / intercal Github repoからのものです。有用なアプリケーションはすべての入力を安全に受け入れますが、この課題では、これらの5つのテストケースのみを説明する必要があります。 rot13.i (10) PLEASE DON'T GIVE UP -> 87 (33) DON'T GIVE UP -> 92 primes.i …

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