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

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

19
ミュンヒハウゼン番号ですか?
A ミュンヒハウゼン数ベースでbbbとしても知られる、完全桁対桁不変またはPDDIは、その塩基の合計の正の整数の特有のタイプであるbbb自身に上げ桁数自体に等しいです。架空の男爵ミュンヒハウゼンにちなんで名付けられました。関連する概念は、自己陶酔的な数字です。 たとえば、1111 = 1であるため、11=111=11^1=1はすべてのベースで簡単にミュンヒハウゼン数です。さらに、すべての正の整数は、定義によりベース1のミュンヒハウゼン数です。 さらに興味深いことに、3 3 + 4 4 + 3 3 + 5 5 = 3435であるため、343534353435は10進数のミュンヒハウゼン数であり、実際は33+44+33+55=343533+44+33+55=34353^3+4^4+3^3+5^5=3435唯一の他のベース10ミュンヒハウゼン番号。 35までのすべてのベースのMunchausen番号の部分的なリストは、OEISでシーケンスとして見つけることができます A166623。 正の整数で指定されたn>0n>0n>0が任意の塩基でミュンヒハウゼン番号である場合、判断b≥2b≥2b\geq2。 ルール デフォルトのI / Oルールが適用されます。 完全なプログラムまたは機能が許容されます。 入力は関数の引数としてSTDINから、出力は関数の戻り値などとしてSTDOUTにできます。 デフォルトの抜け穴が適用されます。 出力は、2つの異なる一貫した結果のいずれかでなければなりません。だからTRUE、真実に対しては罰金であり、偽造に対してFALSEは罰金であるが、あなたはそれを逆にするか、あるいはNone真実に対して、偽造などの1ために戻ることができる。回答で選択した結果を指定してください。 あなたの答えは、正の整数に対して少なくとも理論的に機能する必要があります。 ミュンヒハウゼン番号は00=100=10^0=1規則を使用しているため、222は11+00=211+00=21^1+0^0=2基本とするミュンヒハウゼン番号です。コードはこの規則に従う必要があります。 提出物がブルートフォース検索方式を使用する可能性が高い場合でも、説明を強くお勧めします。 ミュンヒハウゼンは明らかに奇妙な人物だったため、難解な言語を使用するとブラウニーポイントを獲得できます。 テストケース Truthy 1 (all bases) 2 (base 2) 5 (base 3) 28 (base 9 and base 25) …

3
亀がポータルを見つける
カメはグリッドに沿って移動して餌を取りたいと考えています。彼はそこに着くまでにどれだけの動きが必要かを知りたがっています。 同様に、彼は遅いので、彼は自分のドメインの周りにテレポーターをセットアップします。または、パスが長くなる場合は避けてください。 亀に会う 🐢 グリッド上のカメの生活 XXXXXXXXXXXX🐢XXXXXXXXXXXXXXXXXXXXXXXX🐢XXXXXXXXXXXX\begin{matrix} X&X&X&X&X\\ X&X&X&X&X\\ X&X&🐢&X&X\\ X&X&X&X&X\\ X&X&X&X&X\\ \end{matrix} カメは、任意の隣接するマスに移動することができます... バツバツバツバツバツバツ↖←↙バツバツ↑🐢↓バツバツ↗→↘バツバツバツバツバツバツバツバツバツバツバツバツ↖↑↗バツバツ←🐢→バツバツ↙↓↘バツバツバツバツバツバツ\begin{matrix} X&X&X&X&X\\ X&\nwarrow&\uparrow&\nearrow&X\\ X&\leftarrow&🐢&\rightarrow&X\\ X&\swarrow&\downarrow&\searrow&X\\ X&X&X&X&X\\ \end{matrix} しかし、カメは山の正方形に移動することはできません XXXXX🌄↖🌄🌄🌄X↑🐢↓XX↗→↘XXXXXXX🌄XXXX↖↑↗XX🌄🐢→XX🌄↓↘XX🌄XXX\begin{matrix} X&🌄&X&X&X\\ X&\nwarrow&\uparrow&\nearrow&X\\ X&🌄&🐢&\rightarrow&X\\ X&🌄&\downarrow&\searrow&X\\ X&🌄&X&X&X\\ \end{matrix} カメは彼のイチゴを食べたい、それが彼のイチゴを取得するのにかかるどのくらい知っていただきたいと思い X🐢XX🌄🌄🌄X🍓XXXX🌄🍓🐢🌄XX🌄XXXX\begin{matrix} X&🌄&🍓\\ 🐢&🌄&X\\ X&🌄&X\\ X&X&X\\ \end{matrix} 亀を取るだろう。この例で555ターン X↓↘X🌄🌄🌄↗🍓↑↑XX🌄🍓↓🌄↑↘🌄↑X↗X\begin{matrix} X&🌄&🍓\\ \downarrow&🌄&\uparrow\\ \searrow&🌄&\uparrow\\ X&\nearrow&X\\ \end{matrix} 幸いにも、カメはテレポーターを見つけました!グリッドには、相互にマップする2つのテレポートがあります。テレポーターを踏むと、すぐにカメが対応するテレポーターに移動します。テレポーターは非常に不安定で、一度使用すると消えてしまい、使用できなくなります。 🔵🐢XX🌄🌄🌄X🍓🔴XX🔵🌄🍓🐢🌄🔴X🌄XXXX\begin{matrix} 🔵&🌄&🍓\\ 🐢&🌄&🔴\\ X&🌄&X\\ X&X&X\\ \end{matrix} 亀が二度上に移動することが高速化されました。今カメ最短パスは222 …

10
最適なアルファベットのステッピング
文字のみで構成される入力文字列を指定すると、任意の文字で始まるラッピングアルファベット上ですべての文字を順番に表示するために必要な最小ステップ数になるステップサイズを返します。 たとえば、という単語を取りdogます。ステップサイズ1を使用すると、次のようになります。 defghijklmnopqrstuvwxyzabcdefg Alphabet ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ defghijklmnopqrstuvwxyzabcdefg Visited letters d o g Needed letters 合計30ステップ。 ただし、ステップサイズ11を使用すると、次のようになります。 defghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefg ^ ^ ^ ^ ^ ^ d o z k v g Visited letters d o g Needed letters 合計6ステップ。これは最小ステップ数であるため、返される結果dogはステップサイズです。11。 テストケース: "dog" -> 11 "age" -> 6 "apple" -> 19 "alphabet" -> 9 "aaaaaaa" …

30
指定されたビットカウントのすべてのASCII文字
(@ChasBrownのおかげでタイトル) サンドボックス 背景 この挑戦は、私が最近Puzzling Stack Exchangeに投稿した質問に触発されました。元の質問に興味がある場合は、リンクをたどってください。そうでない場合は、ここで詳細を説明しません。 事実 印刷可能な標準ASCII文字はすべて、32〜126の10進数値を持ちます。これらは、100000から1111110までの範囲の対応する2進数に変換できます。これらの2進数のビットを合計すると、常に1〜6の整数になります。 チャレンジ 入力として1〜6の整数を指定し、バイナリ値のビットの合計が入力整数に等しい印刷可能な標準ASCII文字をすべて受け入れ可能な形式で出力するプログラムまたは関数を作成します。 例/テストケース 1 -> ' @' 2 -> '!"$(0ABDHP`' 3 -> '#%&)*,1248CEFIJLQRTXabdhp' 4 -> ''+-.3569:<GKMNSUVYZ\cefijlqrtx' 5 -> '/7;=>OW[]^gkmnsuvyz|' 6 -> '?_ow{}~' 未使用のPythonリファレンス実装は、こちら(TIO)から入手できます。 ルール 入力は常に1〜6の整数(または整数の文字列表現)であると仮定します。 結果を表示するプログラム、または結果を返す関数を作成できます。 出力は合理的な形式であるかもしれませんが、すべての入力に対して一貫していなければなりません。引用符付き文字列を出力することを選択した場合、すべての入力に同じタイプの引用符を使用する必要があります。 通常の禁止されている標準的な抜け穴。 これはコードゴルフなので、各言語の最短コードが勝ちます。
30 code-golf 

12
繰り返しフィボナッチ桁とは何ですか?
おそらくご存知のように、フィボナッチ数は、シリーズの前の2つの数の合計です。 Fibonacci Digit™は、前の2つの数字の合計です。 たとえば、シリーズの開始の1,1場合、シリーズはになります1,1,2,3,5,8,13,4,7,11,2...。変更はの後に発生し、追加する13代わりにを追加8+13します1+3。シリーズは最後にループします。ここで4+7=11、および1+1=2は、シリーズの開始と同じです。 別の例として、シリーズの始まり2,2:2,2,4,6,10,1,1,2,3,5,8,13,4,7,11,2,3...。これは一意に始まりますが、数字が合計する10と1+0=1, 0+1=1になり、シリーズはシリーズと同じように継続し、ループ1,1します。 チャレンジ 整数入力が与えられた場合0≤n≤99、これらの2桁で始まるフィボナッチ桁シリーズのループを計算します。(あなたは確かにこの範囲外の整数を考慮許可されていますが、必須ではありません。)1桁の入力が与えられた場合、コードはそれを解釈してシリーズ開始を示し0,nます。 ループ内の2桁の数値はすべて、2桁として出力する必要があります。そのため、たとえば、ループforに1,1はが含まれますが13、ではありません1,3。 出力は、ループの最初の番号から始まります。したがって、上記の制限に基づいて、のループはで1,1始まる2ため1,1、11は別々にカウントされます。 出力の各番号は、一貫している限り、必要に応じて区切ることができます。すべての例でコンマを使用していますが、常に同じ区切り文字を使用している限り、スペース、改行、ランダムな文字などはすべて許可されます。の2g3g5g8g13g4g7g11正当な出力もありますが1、2j3g5i8s13m4g7sk11ではありません。一貫したセパレータで区切られた正しい順序で正しい番号を持っている限り、文字列、リスト、配列などを使用できます。出力全体を角括弧で囲むこともできます(例:(5,9,14)または[5,9,14]など)。 テストケース: 1 -> 2,3,5,8,13,4,7,11 2 -> 2,3,5,8,13,4,7,11 3 -> 11,2,3,5,8,13,4,7 4 -> 3,5,8,13,4,7,11,2 5 -> 2,3,5,8,13,4,7,11 6 -> 3,5,8,13,4,7,11,2 7 -> 14,5,9 8 -> 13,4,7,11,2,3,5,8 9 -> 11,2,3,5,8,13,4,7 0 -> 0 14 -> 5,9,14 59 -> 5,9,14 これはcode-golfであるため、最小のバイト数が優先されます。
30 code-golf 

30
最も一般的な部分文字列
入力として文字列のリストを受け取り、すべての入力文字列の部分文字列である最長の文字列を出力するプログラムまたは関数を作成します。同じ長さの部分文字列が複数あり、部分文字列がなくなった場合は、いずれかを出力します。 これは、空の文字列を出力することを意味する場合があります。 有効な出力が複数ある場合は、いずれかを出力できます。出力が常に有効である限り、特定の入力に対して一貫した出力を提供する必要はありません。 入力には常に少なくとも1つの文字列がありますが、空ではない文字列が存在しない場合があります。 すべての印刷可能なASCII文字が入力に表示される場合があります。表示されるのはこれらの文字のみであると想定できます。 デフォルトのメソッドのいずれかを使用して、入力を取得したり出力を生成したりできます。 標準抜け穴は許可されていません。 これはコードゴルフです -コードのバイト数が少ないほど良いです。 テストケース: [Inputs] -> [Valid outputs (choose one)] ["hello", "'ello"] -> ["ello"] ["very", "much", "different"] -> [""] ["empty", "", "STRING"] -> [""] ["identical", "identical"] -> ["identical"] ["string", "stRIng"] -> ["st", "ng"] ["this one", "is a substring of this one"] -> ["this one"] …

23
GUIDを増やす
最近のDaily WTFの記事に触発されて ... GUID(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX各Xが16進数を表すformatの文字列)を受け取り、1ずつ増加したGUIDを出力するプログラムまたは関数を作成します。 例 >>> increment_guid('7f128bd4-b0ba-4597-8f35-3a2f2756dfbb') '7f128bd4-b0ba-4597-8f35-3a2f2756dfbc' >>> increment_guid('06b86883-f3e7-4f9d-87c5-a047e89a19fa') '06b86883-f3e7-4f9d-87c5-a047e89a19fb' >>> increment_guid('89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2cf') '89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2d0' >>> increment_guid('89f25f2f-2f7b-4aa6-b9d7-46a98e3cb29f') '89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2a0' >>> increment_guid('8e0f9835-4086-406b-b7a4-532da46963ff') '8e0f9835-4086-406b-b7a4-532da4696400' >>> increment_guid('7f128bd4-b0ba-4597-ffff-ffffffffffff') '7f128bd4-b0ba-4598-0000-000000000000' ノート リンクされた記事とは異なり、Fで終わるGUIDをインクリメントすると、前の16進数に「移動」する必要があります。上記の例を参照してください。 入力がにならないことを前提とするかもしれませんffffffff-ffff-ffff-ffff-ffffffffffff。 9を超える16進数の場合、大文字(AF)または小文字(af)を使用できます。 はい、GUIDはで始まる場合があり0ます。 出力は、必要な先行s を含めて、正確に 32桁の16進数と期待される形式の4つのハイフンで構成する必要があります0。 GUIDのバージョン番号またはその他の固定ビットを保持する必要はありません。ビットが特別な意味を持たない単なる128ビット整数であると仮定します。同様に、GUIDは、Windows GUID構造体のバイナリ順ではなく、簡単な辞書順でソートされると想定されます。 関数を書く場合、入力は、任意の配列オブのものとすることができるcharデータの種類:string、char[]、List<char>、等
30 code-golf 

3
素数検定式
あなたの目標は、特定の数nが最小バイトで素数であるかどうかを判断することです。しかし、あなたのコードは、単一でなければならないのPython 2のみからなる数字で表現 オペレーター 入力変数 n 整数定数 括弧 ループなし、割り当てなし、組み込み関数なし、上記のリストのみ。はい、可能です。 オペレーター Python 2のすべての演算子のリストを次に示します。算術演算子、ビット演算子、論理演算子が含まれます。 + adddition - minus or unary negation * multiplication ** exponentiation, only with non-negative exponent / floor division % modulo << bit shift left >> bit shift right & bitwise and | bitwise or ^ bitwise xor ~ bitwise …

17
ある種のクイン
stringを指定すると、ソースコードでの表示順序に従ってx文字がxソートされて出力されます。 例 Source: ThisIs A Test Input: Is it a Test? Output: TissI etta? Source: Harry - yer a wizard. Input: I'm a what? Output: aa wh'?Imt Source: Mr. H. Potter, The Floor, Hut-on-the-Rock, The Sea Input: Output: ルール 標準的な抜け穴とI / Oルールが適用されます 入力と出力は、文字列、文字のリスト、またはバイトのリストのいずれかです。 If a character is used multiple times …

18
カスタム数値ベースコンバーター
自分の好きな形式を使用して、自分の持っている数字を自分の数字ベースにすばやく変換できるようにしたい力。 入力 プログラムは3つのパラメーターを受け入れる必要があります。 番号:変換される文字列番号 InputFormat:数値が現在含まれている基本文字列 OutputFormat:数値が変換されるベース文字列。 出力 プログラムはNumber、古い数値ベースInputFormatから新しい数値ベースに変換する必要がありますOutputFormat 例 ("1","0123456789","9876543210") = "8" ("985724","9876543210","0123456789ABCDEF") = "37C3" ("FF","0123456789ABCDEF","0123456789") = "255" ("FF","0123456789ABCDEF","01234567") = "377" ("18457184548971248772157", "0123456789","Aa0Bb1Cc2Dd3Ee4Ff5Gg6Hh7Ii8Jj9Kk,Ll.Mm[Nn]Oo@Pp#Qq}Rr{Ss-Tt+Uu=Vv_Ww!Xx%Yy*Zz") = ",sekYFg_fdXb" 追加 新しいベース77テストは、機能する場合は小道具を必要としません 最初に数値に変換する必要があり、32ビット内でロックされている言語の場合は、スキップできます。 追加のテストなので。 すべての例は、次のコード(vars mins、ただしコードはフォーマット済み)を使用して、bcmath拡張を使用してPHP 7.2によって生成されました。おそらくもっと短い方法がありますが、これは私がこれを行う必要があるシステムのために思いついた方法であり、誰かが短いバージョンを思い付くことができるかどうかを確認するのは良いことです。 PHP 7.2(bcmath-拡張)614バイト <?php function f($a, $b, $c) { $d= str_split($b,1); $e= str_split($c,1); $f= str_split($a,1); $g=strlen($b); $h=strlen($c); $k=strlen($a); $r=''; …

30
ワードラダーを構築する
少なくとも2つの単語(小文字のみで構成される)のリストが与えられた場合、最初に右から次に左に、最初の方向を左から右に交互に変えて、単語のASCIIラダーを作成および表示します。 。 単語を書き終えたら、方向を変えてから、次の単語を書き始めます。 ご使用の言語が単語のリストをサポートしていない場合、またはより便利な場合は、単一のスペースで区切られた単語の文字列として入力を取得できます。 先頭と末尾の空白は許可されます。 ["hello", "world"] または "hello world" hello w o r l d ここでは、書き込みから始めhelloて、次の単語(または文字列としての入力の場合-スペースが見つかった場合)に達したときに、相対方向を右に変更して書き込みを続けますworld テストケース: ["another", "test", "string"] or "another test string" -> another t e s tstring ["programming", "puzzles", "and", "code", "golf"] or "programming puzzles and code golf" -> programming p u z z l e …

24
コードへの(簡単な)道
入力: 整数nnnであることが保証され、≥ 3≥3\ge3。 いずれかである整数ddd。[ - 1 、0 、1 ][−1、0、1][-1,0,1] 出力: 場合、北西方向のサイズの道路。場合は北方向。または場合は北東方向。道路の幅は常に3スペース(外側の境界線を含める場合は一般に5スペース)です。さらに、下部に道路の区切り線があり、その後、上に向かって交互に切り替わります。nnnd= − 1d=−1d=-1d=0d=0d=0d=1d=1d=1 いくつかの例: 入力: 出力:n=7,d=1n=7,d=1n=7, d=1 / / / / / / / / / / / / / / / / / / 入力:n=4,d=−1n=4,d=−1n=4, d=-1 出力: \ \ \ \ \ \ \ \ \ \ チャレンジルール: 画面のどこかに必要な道路を印刷する限り、任意の長さの先頭/末尾スペースおよび/または改行を使用できます。 …

30
pwaS eht tirsf dna tasl setterl fo hace dorw
または、「各単語の最初と最後の文字を入れ替える」 あなたの課題は、アルファベットのASCII文字列と、区切り文字として使用する他の1文字(各単語を区切る)を指定して、各単語の最初と最後の文字を入れ替えることです。1文字の単語がある場合は、そのままにします。 サンプル/テストケースでは、小文字とスペースを区切り文字として使用します。 句読点を処理する必要はありません。すべての入力は、デリミタで区切られたa〜zの文字のみで構成され、すべてが大文字です。 たとえば、文字列「hello world」の場合: Input string: "hello world" Identify each word: "[hello] [world]" Identify the first and last letters of each word: "[[h]ell[o]] [[w]orl[d]]" Swap the first letters of each word: "[[o]ell[h]] [[d]orl[w]]" Final string: "oellh dorlw" 注:区切り文字を個別に入力する必要はありません。区切り文字は、単語を区切るために使用される文字です。何でも構いません。創造的なゴルファーのためにオプションを開いたままにしたかったので、スペースや改行だけに制限したくありませんでした。区切り文字は、入力文字列内の単語を区切る単なる文字です。 テストケース: "swap the first and last letters of each word" …
30 code-golf  string 

29
ラッキーハウス
ラッキーハウスとして知られるスーパーマリオ3Dワールドにはミニゲームがあります。4ブロックのスロットマシンで構成されています。 各ブロックは5つの異なるアイコン(花、葉、ベル、チェリー、ブーメラン)のいずれかであり、プレーヤーの目標は、できるだけ多くの同一のアイコンを取得することです(ビデオを参照))。 プレイヤーにはコインが与えられ、コインはさらにライフに変換されます。あなたの仕事は、獲得した追加のライフの数を計算することです。 一致するアイコンの数に応じて、報われるコインの量は次のとおりです。 一致なし-10コイン 1ペア-100コイン 2ペア-200コイン 三種類-300コイン 4種類-777コイン 100コインごとに1つの追加ライフ(1UP)を獲得します。したがって、1ペアで正確に1UP 、2 ペアで2UP 、3-of-a-kindで 3UP を獲得することが保証されます。ただし、対戦なしまたは4種類の勝ちで獲得したライフの数は、最初のコインストックによって異なります。 ソース:スーパーマリオウィキ 入力 あなたが最初のコイン株式与えられている0 ≤ C &lt; 1000≤c&lt;1000 \le c < 100と4つの値のリストを[ v1、v2、v3、v4][v1、v2、v3、v4][v_1,v_2,v_3,v_4]スロットマシンの最終的なアイコンを表します。 出力 余分な生活の数が勝った:、、、3、7または8を000111222333777888。 ルール アイコンは、リスト、文字列、または4つの異なるパラメーターなど、適切な形式で取得できます。 各アイコンは、1桁の整数または単一の文字で表されます。。回答で使用されるアイコンのセットを指定してください。(ただし、それらがどのようにFlower、Leaf、Bellなどにマッピングされるかを説明する必要はありません。それはまったく問題ではないからです。) 出力値を再マップすることはできません。 これは🎰code -golf isです。 テストケース 次の例では、整数のリストを使用してアイコンを表します。[ 1..5 ][1..5][1..5] coins icons output explanation ------------------------------------------------------------------------- 0 [1,4,2,5] 0 no matches …

26
自分で食べられる数
正の整数が与えられた場合、その数値がそれ自体を食べることができるかどうかに関する真実/偽の値を出力します。 ルール 左端が頭、右端が尾 頭が尾以上である場合、頭は尾を食べ、新しい頭が合計になります。 もしsum≥10sum≥10sum \ge 10 その後、ヘッドが置き換えられます。summod10summod10sum \mod 10 sum=0sum=0sum=0は無視できませんが、入力番号に先行ゼロはありません。 例: number=2632 head-2, tail-2 2632 -&gt; 463 head-4, tail-3 463 -&gt; 76 head-7, tail-6 76 -&gt; 3 If only one digit remains in the end, the number can eat itself. 頭が尾を食べることができない場合、答えは偽になります。 number=6724 072 False (0&lt;2) テストケース: True: [2632, 92258, …

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