プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

3
コアラ、カニ、およびCommapillars
2つの正の整数XとYが与えられた場合、可能であれば正確にXコンマ(,)とYピリオド(.)が出力に含まれるように、次の3つのASCIIアート動物の任意の組み合わせを出力します。 コアラ: 1コンマ、2ピリオド <.,.> カニ:コンマ2個、ピリオド2個 ,<..>, Commapillar: 3つ以上のコンマ、1つのピリオド <,,,.> または<,,,,.>または<,,,,,.>または<,,,,,,.>または<,,,,,,,.>など。 これらの動物の組み合わせが正確にXコンマとYピリオドを生成できない場合、失敗をカモフラージュする単一のコンマレオンを出力します。 ~<.,,>~~ 産出される動物は、どんな量でも、どんな順序でもかまいません。文字列、スペース、改行で区切られているか、各動物が1つの要素であるリストに含まれている場合があります。 たとえば、X = 7、Y = 5の場合、これらはすべて有効な出力になります(空行で区切られます)。 <.,.> <.,.> <,,,,,.> <.,.> <,,,,,.> <.,.> ,<..>, <.,.> <,,,,.> <,,,,.> ,<..>, <.,.> ,<..>, <,,,.> ,<..>, [",<..>,", ",<..>,", "<,,,.>"] (list syntax depends on language) (少なくともこの例では)動作可能な動物のセットが複数あることに注意してください。しかし、あなたは出力のみに任意の必要覚えて1つのが存在する場合、有効な解決策を。動物の数または別個の動物の数は重要ではありません。 X = 3、Y = 3またはX = 1などの入力の場合、解がない場合、出力は常に ~<.,,>~~ …

21
24時間の合計
0から141までの整数(両端を含む)を指定すると、その整数に時、分、秒の単位が加算される24時間すべてをリストします。 追加の規則 数字は、1桁ではなく、時間単位で追加されます。 たとえば、17:43:59を取る 17 + 43 + 59 = 119 覚えておいてください、それは追加される数字の例です。実際には、119を入力すると、17:43:59が結果の1つになります。出力は、HH:MM:SSまたはH:MM:SSとして指定する必要があります。 また、可能な最大数は141で、23:59:59です。これはコードゴルフなので、最低額が勝ちます。試行錯誤は許されますが、これについてはもっと良い方法があるかもしれません。 編集:コード内の入力値の場所を指定してください。
21 code-golf  math 

6
四角いPiの三角形のスライス
パイのスライスを焼くに触発 チャレンジ 入力3 <= n <= 100およびを指定すると3 <= y <= n、左上から始まる()のn x n小数部分の行列を作成します。次に、サイズの右上の三角形を取り、それを連結します。結果の数値を出力します。pi14159...y x y たとえば、入力のn = 5場合y = 3、次の行列が構築されます 14159 26535 89793 23846 26433 次に、右上の3 x 3三角形は 159 35 3 その159353出力されます。 入力 2つの整数n-piの数字の正方行列のサイズをy表し、右上の三角形を表す- 任意の便利な形式。 出力 結果としてスライスされ連結された数値。印刷または画面に表示されるか、文字列などとして返されます。 出力に空白がない場合(つまり、159 35 3そのようなものが無効になる場合)、末尾/先頭の空白はオプションです。 pi近似または数学計算ではなく、の桁を明示的に探しているため、答えは行列の最終桁を丸めるべきではないことに注意してください。 ルール これはコードゴルフなので、ゴルフの通常のルールがすべて適用され、最短のコード(バイト単位)が勝ちます。 完全なプログラムまたは機能のどちらでもかまいません。 標準的な抜け穴は禁止されています。 例 n y output ------------- …
21 code-golf  pi 

30
数字を印刷するのにかかった時間
概要 次のように、入力を受け取らず、-1000から1000までのすべての整数を昇順でstdoutに出力するプログラムまたは関数を作成します。 -1000 -999 -998 -997 ... その後、これらの数値を印刷するのにかかった時間、またはプログラムの実行の開始からの時間をミリ秒単位で印刷する必要があります(必要に応じて、他の項目も含めることができます。たとえば、time taken:xxxmsはOKです)。浮動小数点数または整数にすることができます(整数を出力する場合は、最も近い値に切り捨てる必要があります)。 サンプルコード using System; using System.Diagnostics; class P { static void Main(string[] args) { Stopwatch st = Stopwatch.StartNew(); for (int i = -1000; i <= 1000; i++) { Console.WriteLine(i); } Console.WriteLine(st.ElapsedMilliseconds); } } 制限事項 標準的な抜け穴は許可されていません その他の情報 それはコードゴルフですので、最短の提出が勝ちます。
21 code-golf  number  date 

28
整数のリストをランク付けする
正の整数の空でないリストが与えられます、例えば [6 2 9 7 2 6 5 3 3 4] これらの数値はその値でランク付けする必要がありますが、リーダーボードでは通常どおり、同点の場合、同点の数値はすべて同じランクになり、適切な数のランクはスキップされます。したがって、上記のリストに期待される出力は次のようになります [3 9 1 2 9 3 5 7 7 6] たとえば、入力の最高値は9であったため、これは1(最初のランク)になります。3番目に高い値は6ですので、両方6が3になり、ランク4は完全にスキップされます。 ルール 入力および出力には、便利で明確なフラットリスト形式を使用できます。出力の最初/最小ランクは常に1でなければなりません。 プログラムまたは関数を作成し、入力を受け取り出力を提供する当社の標準的な方法を使用できます。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 これはcode-golfであるため、バイト単位で測定された最短の有効な回答が勝ちます。 テストケース [8] -> [1] [1 15] -> [2 1] [18 14 11] -> [1 2 3] [11 16 14 8] -> [3 …

14
ALONED番号を出力します
6までの自然なシーケンスを考慮します(1を無視)。 2,3,4,5,6 左からスキャンを開始し(この場合は2から)、2で割り切れる数値(ここでは4)を検索し、リストから次のように両方の数値を削除します(ここでは2と4)。 3,5,6 同じプロセスを続けます。ここでは左端が3なので、3で割り切れる数を検索します。6は確実にその数なので、3と6は削除されます。 5 現在、このような検索はこれ以上できません。したがって、これはn = 6のALONED番号のリストになります。 目的 nが1より大きい場合、対応するすべての番号を出力します。 入力 2 6 15 20 22 出力 2 5 8,9,11,12,13,15 11,12,13,15,17,19,20 12,13,15,17,19,20,21 まだ別の例 n = 22の場合 =>2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 =>3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 (remove 2 & 4) =>5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 (remove 3 & 6) =>7,8,9,11,12,13,14,15,16,17,18,19,20,21,22 (remove 5 & 10) =>8,9,11,12,13,15,16,17,18,19,20,21,22 (remove 7 & 14) =>9,11,12,13,15,17,18,19,20,21,22 (remove …
21 code-golf  number 

3
デモルガンの法則を証明する
自然控除システムの10の推論を使用して、DeMorganの法則を証明します。 自然控除のルール 否定の紹介: {(P → Q), (P → ¬Q)} ⊢ ¬P 否定の排除: {(¬P → Q), (¬P → ¬Q)} ⊢ P はじめに: {P, Q} ⊢ P ʌ Q そして除去: P ʌ Q ⊢ {P, Q} または紹介: P ⊢ {(P ∨ Q),(Q ∨ P)} または除去: {(P ∨ Q), (P → R), (Q …

28
バウムスイートシーケンス
Baum-Sweetシーケンス(A086747ツイスト付き) 正の整数nを受け取り、Baum-Sweetシーケンスがtrueを返す1〜nの整数を出力します。Baum-Sweetシーケンスは、数値のバイナリ表現に数値の任意の場所に奇数の連続したゼロが含まれている場合は偽を返し、それ以外の場合は真実を返します。詳細については、リンクをクリックしてください。次に例を示します。 1 -> 1 -> Truthy 2 -> 10 -> Falsy 3 -> 11 -> Truthy 4 -> 100 -> Truthy (Even run of zeros) 以下に例を示します n=32 ステップ1:視覚化されたBaum-Sweetシーケンス n=32 1 1 (1) 1 0 0 (2) 11 1 (3) 1 00 1 (4) 1 0 1 0 (5) 11 …

5
対角グリッドの長方形を数える
この課題のフォローアップとして、グリッド内の正方形のすべての対角線を横切る線がある、r行c列のグリッド内の長方形の数を数えたいと思います。今でも、以前と同じ長方形を数えていますが、今回は45度傾斜した長方形も含める必要があります。 あなたの目標は、行数rと列cが次元(r、c)の対角グリッド内の長方形の数を出力する関数またはプログラムを作成することです。 デモンストレーションとして、これは(2 x 3)対角グリッドによって形成された37個の長方形すべてを反復するアニメーションです。 テストケース Each case is [rows, columns] = # of rectangles [0, 0] = 0 [0, 1] = 0 [1, 0] = 0 [1, 1] = 1 [3, 2] = 37 [2, 3] = 37 [6, 8] = 2183 [7, 11] = 5257 [18, 12] = …

12
整数の黄金度
正の整数nは、n = a * bとなるように、整数辺 a、bを持つ長方形として表すことができます。つまり、面積は数値を表します。一般に、aとbは与えられたnに対して一意ではありません。 よく知られているように、長方形の辺が黄金比である場合、長方形は目にとって特別に心地よい(または脳ですか?)、φ =(sqrt(5)+1)/ 2≈1.6180339887 ... これらの2つの事実を組み合わせて、この課題の目的は、整数nを2つの整数a、bの積に分解することです。その比率は、φに可能な限り近い(usualの通常のメトリックで)。φが無理であるという事実は、一意の解のペア(a、b)があることを意味します。 チャレンジ 正の整数で指定されたN、出力正の整数、Bよう * B = Nとの差の絶対値/ Bとφが最小化されます。 一例として、考えるN対(= 12 、B満たす)* B = N(1、12)、(2,6)、(3,4)、(4,3)、(:あり6,2)、(12,1)。比率がφに最も近いペアは(4,3)で、4/3 = 1.333になります。 ルール 機能またはプログラムは受け入れ可能です。 分子()が表示されなければならない最初の出力で、かつ分母(B)第二。それ以外は、入力および出力形式は通常どおり柔軟です。たとえば、2つの数値は、適切な区切り文字を含む文字列として、または配列として出力できます。 このコードは、任意の大きな数値に対して理論的に機能するはずです。実際には、メモリまたはデータ型の制限によって制限される場合があります。 3番目の小数以下の精度である限り、φの近似バージョンを考慮するだけで十分です。つまり、真のφと近似値の絶対差は0.0005を超えてはなりません。たとえば、1.618は許容範囲です。 近似の合理的なバージョンのφを使用する場合、解が一意ではない可能性がわずかにあります。その場合、最小化条件を満たす任意のペアa、bを出力できます。 最短のコードが優先されます。 テストケース 1 -> 1 1 2 -> 2 1 4 -> 2 2 12 -> 4 3 …

3
原子プロポーションのゲーム
あなたのタスクはAtomasをプレイするボットを作成し、最高スコアを獲得します。 ゲームの仕組み: ゲームボードは、6つの「原子」のリングから始まります。 1します3。原子自体に応じて、2つの原子間または別の原子上で原子を「再生」できます。 通常のアトムまたは特別なアトムを使用できます。 通常の原子: ボード上の任意の2つの利用可能な原子の間で通常の原子を再生できます。 範囲内の原子から始めます1 to 3が、範囲は40移動ごとに1ずつ増加します(したがって、40移動後に範囲は2 to 4)。 ボード上に範囲よりも低い原子がある場合1 / no. of atoms of that number on the board、スポーンする可能性があります。 2プレイする必要があるとしましょう。ボードは次のようになります。 1 1 2 1 2の右側に配置しましょう1。 ボードは次のようになります。 1 1 2 1 2 注:ボードは折り返されているので、1左端は実際には2右端のます。これは後で重要になります。 「特別な」アトムには4つのタイプがあり、それらは次のとおりです。 の +アトム: このアトムは、2つのアトム間で再生されます。産卵の確率は5分の1です。 原子の両側の+原子が同じ場合、融合が発生します。仕組みは次のとおりです。 The two atoms fuse together to create an atom …
21 code-challenge  game  code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

30
指定された幅で#の中空の正方形を描画します
私はCodingameからこの課題を受け取り、私のものよりも優れたソリューションに興味があります。 標準入力を使用して幅を指定すると、指定された幅と長さで「#」の中空の四角形が描画されます。 例: 5の結果 ##### # # # # # # ##### 私はこれを解決するためにPythonを使用したので、他のPythonコードに特に興味があります。ただし、必要な言語でソリューションを投稿してください。
21 code-golf  string  ascii-art  number  code-golf  grid  code-golf  string  ascii-art  code-golf  alphabet  cipher  code-golf  math  number  code-golf  quine  code-golf  palindrome  polyglot  code-golf  number  array-manipulation  counting  logic  code-golf  string  primes  binary  decision-problem  code-golf  ascii-art  kolmogorov-complexity  popularity-contest  code-golf  probability-theory  code-golf  string  code-golf  python  polyglot  programming-puzzle  c++  code-golf  math  code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

20
ワードシェーピングの芸術
ワードシェーピングの芸術 バイナリマトリックスと文字列を指定すると、マトリックス内のすべての1を左から右に、文字列の文字で置き換えます。文字がマトリックスの形状に形成されたら、マトリックスを印刷し、0をスペースに置き換えます。たぶん1つまたは2つの例を挙げる方が簡単でしょう。 ケース:ベースケース... 入力1: [0,0,1,0,0] [0,1,0,1,0] [1,0,0,0,1] [0,1,0,1,0] [0,0,1,0,0] "PPCGPPCG" 出力1: P P C G P P C G 場合: 入力文字列が1の数よりも長い場合... 入力2: [1,0,0] [0,1,0] [1,0,1] lambda 出力2: l a m b 場合: 入力文字列が1の数よりも短い場合... 入力3: [1,1,1] [1,0,1] [1,1,1] PPCG 出力3: PPC G P PCG 利用可能な仮定 入力文字列が決して空ではないと仮定することができます。 マトリックスが空になることはないと想定できます。 バイナリマトリックスがすべてゼロになることはないと想定することはできません。 ルール 文字列が1の数より短い場合は、文字列を繰り返します。すべてを交換する必要があります。 文字列が1の数よりも長い場合は、必要なもののみを使用してください。 …

10
主な要因
整数を指定するとN > 1、素分解がの素分解と同じ桁を持つ他のすべての数値を出力しますN。 たとえば、の場合N = 117、出力はでなければなりません[279, 939, 993, 3313, 3331]。 117 = 3 × 3 × 13 そのため、可能な数字であり1、3、3そして3、私たちは持っています 279 = 3 × 3 × 31 939 = 3 × 313 993 = 3 × 331 3313 = 3313 3331 = 3331 これらの数字の他の組み合わせは、素因数分解の結果とはなり得ない非素数整数を生成するため、これらは唯一の他の可能な数です。 場合Nのいずれかである117、279、939、993、3313あるいは3331、出力は他の5つの数字が含まれています:彼らは、素因数の仲間です。 先行ゼロを使用して素数を取得することはできません。たとえば、のN = 107場合、唯一のバディは701(017考慮されません)です。 入力と出力 入力および出力バディを取得し、10進数で返す必要があります。 Nは常に厳密により大きいです1。 出力は、バディとセパレーター/リスト構文要素のみを含む限り、かなり自由にフォーマットできます。 …

20
保存されたペニーはペニーです
...カウント! プログラムに、ドルおよび/またはセント単位の金額とコインの値の配列を表す変数を渡します。あなたの課題は、コードに渡される量となるコイン値の特定の配列の可能な組み合わせの数を出力することです。指定されたコインでは不可能な場合、プログラムはを返さなければなりません0。 アメリカの貨幣用語に関する注意: 1セント硬貨:ペニー 5セント硬貨:ニッケル 10セント硬貨:ダイム 25セント硬貨:四半期(四半期ドル) 例1: プログラムが合格しました: 12, [1, 5, 10] (12セント) 出力: 4 12セントを生成するために命名されたコインを結合する4つの可能な方法があります。 12ペニー 1ニッケルと7ペニー 2ニッケルと2ペニー 1ダイムと2ペニー 例2: プログラムが合格しました: 26, [1, 5, 10, 25] (26セント) 出力: 13 26セントを生成するために命名されたコインを組み合わせる13の可能な方法があります。 26ペニー 21ペニーと1ニッケル 16ペニーと2ニッケル 11ペニーと3ニッケル 6ペニーと4ニッケル 1ペニーと5ニッケル 16ペニーと1ダイム 6ペニーと2ダイム 11ペニー、1ダイム、1ニッケル 6ペニー、1ダイム、2ニッケル 1ペニー、1ダイム、3ニッケル 1ペニー、2ダイム、1ニッケル 1四半期と1ペニー 例3: プログラムが合格しました: 19, [2, 7, …

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