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

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

20
素数の和ピラミッド
数Nが与えられると、N個の素数のピラミッドの合計を取得することが課題になります。物事を明確にするために、以下に例を示します。 Input: 4 最初の4素数をリストし、それらの合計を計算します。その後、合計の合計を計算します。 2 > 5 3 > 13 > 8 > 33 5 > 20 > 12 7 最終結果は33であることがわかります。N = 8の別の例を次に示します。 2 > 5 3 > 13 > 8 > 33 5 > 20 > 83 > 12 > 50 > 205 7 > 30 > 122 > …
24 code-golf  math  primes 

12
アスキーキャラクタージャンブル
印刷可能な文字(ASCII 20-7E)とn[2,16]の整数で構成される文字列を入力として受け取り、文字列に対して次の変更を実行するプログラムを作成します。 文字列内の各文字はASCIIコードに変換されます(指定された例は16進数ですが、10進数も受け入れられます)。 ASCIIコードはベースに変換されn、一緒に連結されます。 新しい文字列は1文字おきに分割されます。奇数の文字がある場合、最後の文字は完全に削除されます。 ASCIIコードの印刷(16進数)は元の文字に変換されますが、非印刷ASCIIコードは削除されます。 結果の文字列が印刷されます。 テストケース 入力 Hello, World! 6 手順 Hello, World! 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 2002453003003031125222330331030024453 20 02 45 30 03 00 30 31 12 52 22 33 03 31 03 00 24 45 このプログラムの出力は E001R"31$Eです。 これはコードゴルフなので、標準的な規則が適用されます。バイト単位の最短コードが優先されます。

6
コードビリヤード(レーベンシュタインゴルフ)
次の9つのタスクを任意の順序で実行するプログラムを作成するには、1つの言語を使用する必要があります。 入力された数値を基数10から基数36に変換します。 サンプル入力: 1000 サンプル出力:(RS出力は大文字でなければなりません) 文字列の各文字を10進数の10進ASCIIコードに変換し、連結されたコードを印刷します。 サンプル入力: Scrambled 3GG5 サンプル出力: 839911497109981081011002051717153 入力された数値が1738で割り切れるかどうかを判別します。 真の場合は真偽値を返し、偽の場合は偽値を返します。 文字列に文字が含まれているかどうかを判断qします。 真の値を返しますが、偽の値を返します。 入力された文字列を+1のシーザー暗号でエンコードします。 大文字と小文字を区別する必要があります。文字以外の文字は変更なしで印刷されます。 サンプル入力: Good morning, World! サンプル出力: Hppe npsojoh, Xpsme! 数の素因数の合計を見つけて出力します。 サンプル入力: 1320 サンプル出力: 21 印刷PPCG。 でn割り切れる最初の正の整数を出力しfloor(sqrt(n))ます。 n 入力された整数です。 入力された文字列のすべてoをOで置き換えますಠ。 サンプル入力: Onomatopoeia サンプル出力: ಠnಠmatಠpಠeia あなたはこの挑戦がそうCode Billiardsでないことに気付くでしょうCode Golf。このチャレンジの目的は、ビリヤードのように、コードをセットアップして、次のチャレンジのために少しだけ変更できるようにすることです。これが、プログラムが上記のタスクを順番に解決する必要がない理由です。 あなたのスコアは次のように決定されます 1プログラムの各バイトごとにスコアが上がります。 floor(n^(1.5))2つの連続したプログラムのレーベンシュタイン距離がの場合、スコアは上がりnます。たとえば、最初のプログラムがpotatoで、2番目のプログラムがであるtaters場合、スコアは12バイトで12 、レベンシュタイン距離5で11= floor(5^(1.5))ずつ上がります。 この課題の目的は、9つのプログラムすべてを作成した後、できるだけ低いスコアにすることです。標準のCGルールが適用されます。 リーダーボードを表示するには、[コードスニペットを表示]をクリックし、一番下までスクロールして[►コードスニペットを実行]をクリックします。オプティマイザーによって作成されたスニペット。 コードスニペットを表示 …

20
注文をまねる
sourceとpatternの 2つの数値リストを指定すると、パターンの相対的な順序に一致するようにソースを並べ替えます。再配列されたソースの2つのエントリは、パターンの同じ位置のエントリと同じ方法で比較する必要があります。 たとえば、入力 s = [-5, 9, 4, 13, 11, -6, 0] p = [7, -4, 1, -8, 4, -3, 12] 結果を生成する必要があります [11, -5, 4, -6, 9, 0, 13] 最初と最後の位置を比較すると、結果には11<13があり7<12、パターンで一致します。 入力:整数の2つの等しい長さの空でないリスト。各リストには繰り返しはありません。ソースまたはパターンが最初に与えられるかどうかはあなた次第です。 出力:パターン番号と同じ相対的な順序になるようにソース番号を再配置するリスト。 リーダーボード: コードスニペットを表示 var QUESTION_ID=62587,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/62587/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var …

9
Pythはどのように改善できますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 Pythは現在開発中です。つまり、常に新しい機能が追加されています。 Pythをより良い言語にしたいので、人々が探している機能を知りたいです。 これは、Pythを改善するためのアイデアを投稿する場所です。 あなたの答えで、述べてください: 変更/追加したいもの。 変更の使用例。 提案を実装する予定がある場合はコメントします。 提案するアイデアが既に提案されているかどうかを確認してください。実装したいアイデアに賛成票を投じてください。 実装された提案: Pythの評価文字列、として.v その他の正規表現操作 として適用.W ネストされたループとその他のラムダ(それらは下で同じメカニズムを使用します) ネストされたリストを次のようにフラット化.n 私が質問を投稿したとき、これはこのメタ質問ごとに話題になっていたが、もはや明確ではない。
24 tips  pyth 

3
月曜日ミニゴルフ#5:<s>しない</ s>自宅でこれを試してください
月曜日のミニゴルフ:毎週月曜日に(願わくば!)投稿された一連の短いコードゴルフの質問。 時々、人々は人生のルールにうんざりします:「これをしないでください」、「あなたはそれをすることはできません」、「私たちはあなたにこれをさせません」。時には本当に制限されているように見えるかもしれません!しかし、時々、ちょっとした楽しみがあるのは良いことなので、これらのルールを変更するためのコードを書きましょう。そして、我々がそれに取り組んでいる間、他の否定性も同様に修正するかもしれません。(もちろん、これらの変更は一時的なものではないため、元の文言もそのままにします。) チャレンジ あなたの課題は、制限のある単語(つまり、末尾または末尾に続く単語)にHTML &lt;s&gt;取り消し線を付けるプログラムまたは関数を作成し、これらの各&lt;/s&gt;単語の後に、すべての大文字に正の同等物を挿入することです。最後に、スペースの後に、行われた置換の数を含める必要があります。例えば:n'tnot Please don't jump into the pool. になる Please &lt;s&gt;don't&lt;/s&gt; DO jump into the pool. 1 (で終わる)で終わる、n'tまたはnot(で終わる)単語のcannot場合、正の同等物は、上記までのすべてnot(スペースを除く)です。ここに私が意味するものがあります: do not speak になる &lt;s&gt;do not&lt;/s&gt; DO speak it doesn't work になる it &lt;s&gt;doesn't&lt;/s&gt; DOES work we cannot になる we &lt;s&gt;cannot&lt;/s&gt; CAN ただし、いくつかの例外があります。これらが適切に処理されていることを確認してください。 can't -&gt; &lt;s&gt;can't&lt;/s&gt; CAN won't -&gt; …
24 code-golf  string 

9
3 x 3の頑丈な正方形をすべて印刷する
(に似頑丈角魔方陣は)Nの整数1の配置である2毎に2×2のサブグリッドが同じ和を有するようにN Nによってグリッドに。 たとえば、N = 3の場合、1つの頑丈な正方形は 1 5 3 9 8 7 4 2 6 なぜなら、2 x 2の4つのサブグリッド 1 5 9 8 5 3 8 7 9 8 4 2 8 7 2 6 すべて同じ額になります23: 23 = 1 + 5 + 9 + 8 = 5 + 3 + 8 + …
24 code-golf  number  arithmetic  number-theory  grid  code-golf  binary  code-golf  popularity-contest  code-golf  chemistry  code-golf  code-golf  date  code-golf  quine  chess  code-golf  hexadecimal  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  math  date  code-golf  typography  code-golf  string  code-golf  string  code-golf  code-golf  math  arithmetic  array-manipulation  grid  code-golf  puzzle-solver  code-golf  music  audio  code-golf  decision-problem  code-golf  geometry  code-golf  number  bitwise  code-golf  string  metagolf  hexagonal-grid  code-golf  string  code-golf  sorting  popularity-contest  code-golf  game  sequence  base-conversion  binary  code-golf  decision-problem  graph-theory  natural-language  code-golf  math  parsing  optimized-output  code-golf  array-manipulation  code-golf  graphical-output  image-processing  tiling  code-golf  graph-theory  path-finding  chess  code-golf  code-golf  balanced-string  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  statistics  code-golf  chemistry 

30
人間が読める形式の映画の長さ
IMDbで映画の実行時間を検索するたびに、数分で表示されます。すぐにそれを時間と分に変換しようとします。これを自動化できればより良いでしょう。 入力: 150 min 出力: 2 hours 30 minutes 入力: 90 min 出力: 1 hour 30 minutes 入力: 61 min 出力: 1 hour 1 minute 入力: 60 min 出力: 1 hour 0 minute or 1 hour 0 minutes 条件は次のとおりです。 入力と出力はこの正確な形式である必要があります。 入力分は0〜240です。 答えは、コマンドライン引数を受け入れるか、ユーザーまたは関数からの入力を読み取ることができます。 出力は引用符で囲まないでください。 出力は返されるのではなく、印刷する必要があります。 リーダーボード: コードスニペットを表示 var QUESTION_ID=65106,OVERRIDE_USER=16196;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/65106/answers?page="+e+"&amp;pagesize=100&amp;order=desc&amp;sort=creation&amp;site=codegolf&amp;filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&amp;pagesize=100&amp;order=desc&amp;sort=creation&amp;site=codegolf&amp;filter="+COMMENT_FILTER}function …

18
3varインタープリターを作成してください!
3varでの変異体であるdeadfish Rは、結果変数として使用されている間、アキュムレータA、B及びR. A及びBであると呼ばれる3つの変数を使用します。 このコードゴルフの課題では、この言語の簡略版のインタープリターを作成する必要があります。 必要なコマンド: i Increments A d Decrements A s Squares A p Prints A P Prints the ASCII character of A &gt; Sets A to R a Increments B k Decrements B m Squares B o Prints B O Prints the ASCII character of B &lt; Sets …

30
センターを見つける
ASCII文字の文字列を指定すると、中央にある文字を出力します。中間文字がない場合(文字列の長さが偶数の場合)、序数が2つの中央文字のフロア平均であるASCII文字を出力します。文字列が空の場合、空の文字列が出力されます。 テストケース: 12345 =&gt; 3 Hello =&gt; l Hiya =&gt; q (empty input) =&gt; (empty output) キャラクターの最短プログラムが勝ちます。(バイトではありません。) リーダーボード この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、およびb)リーダーボード全体としての回答からリーダーボードを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N characters N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, &lt;s&gt;104&lt;/s&gt; &lt;s&gt;101&lt;/s&gt; 96 characters ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 2 (-p flag) = 45 characters 言語名をリンクにして、スニペットに表示することもできます。 ## [&gt;&lt;&gt;](http://esolangs.org/wiki/Fish), 121 characters コードスニペットを表示 &lt;style&gt;body …
24 code-golf  string 

16
月曜日のミニゴルフ#3:アナグラム距離
月曜日のミニゴルフ:毎週月曜日に(願わくば!)投稿された一連の短いコードゴルフチャレンジ。 (これは少し遅れてごめんなさい。) 皆さんの多くは、2つのストリング間の距離を計算するアルゴリズムであるレーベンシュタイン距離を聞いたことがあると思います。さて、この課題は、アナグラム距離と呼ばれる、独自の発明*の同様のアルゴリズムを実装することです。主な違いは、文字の順序は重要ではないということです。代わりに、一方の文字列または他方の文字列に固有の文字のみが測定されます。 チャレンジ チャレンジの目標は、2つの文字列を受け取り、それらの間のアナグラム距離を返すプログラムまたは関数を作成することです。これを行う主な方法は、次のロジックを使用することです。 両方の文字列を小文字に変換し、(オプションで)各文字をアルファベット順にソートします。 文字列には少なくとも1つの等しい文字が含まれていますが、各文字列からこの文字の最初のインスタンスを削除します。 残りの文字列の長さを追加し、結果を返す/出力します。 例 入力が次の場合: Hello, world! Code golf! 次に、小文字でソートされ、これらは次のようになります:(JSのデフォルトのソートにより、先頭のスペースに注意してください) !,dehllloorw !cdefgloo 両方の文字列にあるすべての文字を削除すると、次のようになります。 ,hllrw cfg したがって、元の2つの文字列間のアナグラム距離= 6 + 3 = 9。 詳細 文字列は、適切な形式で使用できます。 文字列は、印刷可能なASCIIのみで構成されます。 文字列自体には、通常のスペース以外の空白は含まれません。(タブ、改行などはありません) 結果が同じである限り、この正確なアルゴリズムを使用する必要はありません。 テストケース 入力1: Hello, world! Code golf! 出力1: 9 入力2: 12345 This is some text. .txet emos si sihT 54321 …
24 code-golf  string 

8
ASCII Borromeanリング
ボロメオリングはそれらのいずれかの除去は、他の2つのリンクを解除するようなリンクされ、3つの円の好奇心セットです。 カップル用の輪ゴムとバインダーリングで自分用のセットを作ることができます。輪ゴムが増えれば、ブルニアンリンクを簡単に作成できます。 Borromeanリングのこのascii-art表現を出力(出力または出力)するプログラムまたは関数を作成します。 +-----+ | | +-----+ | | | | | | +-|---+ | | | | | | | | | +-|---+ | | | | +-|---+ | | | +-----+ 行の末尾にはスペースがあり、末尾に改行がある場合があります。 バイト単位の最短コードが優先されます。

30
文字列全体から文字列の最初の文字をすべて削除します
文字のみを含む入力文字列が与えられA-Z、a-z最初の文字がある場合は、スペースは、(文字列の最初の文字の大文字と小文字のバージョンの出現をすべて削除Aすべて削除A秒とa、最初の文字がある場合には、Sを(スペース)削除は、すべてのスペース)、および出力を印刷します。 例: Testing Testing One Two Three -&gt; esing esing One wo hree Programming Puzzles and Code Golf -&gt; rogramming uzzles and Code Golf How much wood would a woodchuck chuck if a woodchuck could chuck wood -&gt; ow muc wood would a woodcuck cuck if a woodcuck could cuck …

30
非ユニーク要素
符号付き整数の配列の一意でない要素を見つけるプログラムを作成します。結果の配列は任意の順序にすることができます。 あなたの答えは、入力が変数(dたとえば)に保存されていると仮定し、正しい結果に評価されるスニペットかもしれません。 テストケース 各テストケースは、形式の1行ですinput =&gt; output。出力の他の順列も有効であることに注意してください。 [] =&gt; [] [-1, 0, 1] =&gt; [] [1, 1] =&gt; [1] [3, 0, 0, 1, 1, 0, 5, 3] =&gt; [3, 0, 1] [-34, 0, 1, -34, 4, 8, 4] =&gt; [-34, 4] 要素の順序は関係ありません。 これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。

12
偉大さのサイン
前書き 誰もがサイン(sin)、コサイン(cos)、タンジェント(tan)、コタンジェント(cot)、セカント(sec)、コセカント(csc)について聞いたことがあります。ほぼすべての角度にそれらがあります。 あまり知られていない、または記憶されていないのは、exsecant(exsec)、excosecant(excsc)、versine(versin)、およびcoverine(cvs)です。ほぼすべての角度にもこれらがあります。あまり知られていないものもありますが、これらに固執します。 45°の角度θについて、これらの視覚化を作成しました。 チャレンジ n度単位で角度を入力し、出力するプログラムを作成します。 角度のサイン n 角度の余弦 n 角度のタンジェント n 角度の割線 n 以下の少なくとも 1つ。このリストの追加アイテムはすべて、-5%、最大-25%のボーナスを獲得します。 角度の割線 n 角度の余割 n 角度の余割 n 角度の逆 n 角度のカバー n 角度の余接 n ボーナスを適用した後、スコアが小数の場合、最も近い整数に切り上げます。 入力 STDINまたは関数呼び出しを介して入力を受け入れることができます。単一の引数nが渡されます。 n 常に0より大きく、90以下の整数全体になります。 出力 45°のサインの出力の例を次に示します。すべての出力項目はこの形式である必要があります。アイテムの順序は関係ありません。 sine: 0.70710678118 すべてのアイテムには、小数部の後に正確に4つの数字が必要です(精度は1万分の1)。以下に丸めの例をいくつか示します。 0 -&gt; 0.0000 1 -&gt; 1.0000 0.2588190451 -&gt; 0.2588 5.67128181962 -&gt; 5.6713 …

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