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

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

29
平方と平方根を計算します!
ある言語では入力の平方を出力し、別の言語では入力の平方根を出力するポリグロットを作成する必要があります。バイト単位の最短回答が勝ちです! 小数点以下3桁以上の精度が必要です。入力は常に正の浮動小数点数になります。

8
コインシステムが正規かどうかを判別
レジ係のアルゴリズムは、ほとんどの通貨システムのために非常によく動作しますコインの最小数の変更を行うためのアルゴリズムです。しかし、ほとんどの貪欲なアルゴリズムのように、欠陥がないわけではありません。通貨システムが適切に設定されている場合(または間違っている場合)、キャッシャーのアルゴリズムが最適な変更を見つけることができない特定の値があります。 次の例をご覧ください。 4¢、3¢、1¢のコインがあります。6¢を作りたい。 キャッシャーのアルゴリズムは、最初に最大数のコイン(開始するために4¢1つ)を選択し、減算して繰り返します。これにより、1枚の4¢コインと2枚の1¢コイン、合計3枚のコインが得られます。 残念ながら、アルゴリズムには2枚のコイン(2つの3¢コイン)で6¢を作成する方法があります。 変更のシステムは、キャッシャーのアルゴリズムが最適な数のコインを見つけるすべての整数値に対して標準的であると見なされます。 仕事 あなたの仕事は、システムをコインの値を表す整数の順序付けられていないコンテナまたはソートされた順序付けられたコンテナとして受け取り、システム入力が正規で偽の場合は真偽値を出力することです。 プログラムは、任意の値を作成できるすべてのシステムで動作するはずです。(つまり、すべてのシステムに1¢のコインがあります) これはコードゴルフの最小バイト数です。 テストケース このリストは決して網羅的なものではなく、プログラムはすべての有効な入力に対して機能するはずです 1, 3, 4 -> 0 1, 5, 10, 25 -> 1 1, 6, 10, 25 -> 0 1, 2, 3 -> 1 1, 8, 17, 30 -> 0 1, 3, 8, 12 -> 0 1, 2, 8, 13 …

30
この文字列をdepalindromize!
この課題に従って生成されたパリンドロームを考えると、パリンドロームを除去します。 テストケース abcdedcba -> abcde johncenanecnhoj -> johncena ppapapp -> ppap codegolflogedoc -> codegolf これは脱パリンドロマイズに関するものなので、コードを回文にすることはできません。 これはcode-golfであるため、バイト数が最も少ないコードが優先されることに注意してください。

30
アルファベットの三角形
この正確なテキストを印刷する必要があります。 A ABA ABCBA ABCDCBA ABCDEDCBA ABCDEFEDCBA ABCDEFGFEDCBA ABCDEFGHGFEDCBA ABCDEFGHIHGFEDCBA ABCDEFGHIJIHGFEDCBA ABCDEFGHIJKJIHGFEDCBA ABCDEFGHIJKLKJIHGFEDCBA ABCDEFGHIJKLMLKJIHGFEDCBA ABCDEFGHIJKLMNMLKJIHGFEDCBA ABCDEFGHIJKLMNONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA ABCDEFGHIJKLMNONMLKJIHGFEDCBA ABCDEFGHIJKLMNMLKJIHGFEDCBA ABCDEFGHIJKLMLKJIHGFEDCBA ABCDEFGHIJKLKJIHGFEDCBA ABCDEFGHIJKJIHGFEDCBA ABCDEFGHIJIHGFEDCBA ABCDEFGHIHGFEDCBA ABCDEFGHGFEDCBA ABCDEFGFEDCBA ABCDEFEDCBA ABCDEDCBA ABCDCBA ABCBA …

30
すべての整数を出力
無限の時間とメモリが与えられた場合、すべての整数を正確に一度だけ印刷するプログラムまたは関数を作成します。 可能な出力は次のとおりです。 0, 1, -1, 2, -2, 3, -3, 4, -4, … 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -2, -3, -4, -5, -6, -7, -8, -9, 10, 11, … これは有効な出力ではありません。これは負の数を列挙しないためです。 0、1、2、3、4、5、6、7、8、9、10、11、… ご使用の言語が10進整数をサポートしていない限り、出力は10進数でなければなりません(その場合は、言語が使用する整数の自然表現を使用してください)。 あなたのプログラムは、あなたの言語の標準整数型の最大の大きさの数値まで動作しなければなりません。 各整数は、言語の数字でも負符号でもないセパレーター(スペース、コンマ、改行など)を使用して次の整数から分離する必要があります。 区切り文字はどの時点でも変更してはなりません。 区切り文字は、数字でも負符号でもない限り、複数の文字で構成することができます(例:, と同じくらい有効です,)。 サポートされている整数は、最終的に有限時間後に印刷されなければなりません。 得点 これはcode-golfなので、バイト単位の最短回答が勝ちます リーダーボード コードスニペットを表示 var QUESTION_ID=93441,OVERRIDE_USER=41723;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function …

17
縁の騎士は厳しい
前書き Aron Nimzowitschは、主要なチェスマスターであり、影響力のあるチェスライターでした。 彼の著書「My System」の最初の章では、センターの重要性と、なぜそれを支配する必要があるのか​​について説明しています。単純な理由は、あなたの駒が中心にいるとき、あなたの駒がより直接的な次の動きを持つ可能性があり、それが再びプレーヤーにより多くの力を与えるということです。 これは、空のボードで騎士のさまざまな位置とその潜在的な次の動き(ピンク色で表示)を見ると非常に明確になります。 目的 空のボード上の騎士の位置に基づいて、騎士の潜在的な直接的な次の動きの数を評価します。 入力仕様 騎士の位置。 最初にx(列)、次にy(行)。0 0左下隅です。 簡単にするために、チェス盤のラベルを数字のみに変更しました。例とテストケースでは、0ベースのインデックスを使用していますが、1ベースのインデックスを自由に使用できます。 任意のタイプの可能な入力形式、配列、関数引数などを使用できます。 出力仕様 空のボード上の騎士の潜在的な直接の次の動きの数。 テストケース 3 4 => 8 4 6 => 6 7 7 => 2 1 0 => 3 テストケースでは、0ベースのインデックスを使用しています。値の完全なグリッドは次のとおりです。 2 3 4 4 4 4 3 2 3 4 6 6 6 6 4 3 …
48 code-golf  math  chess 

30
アルファベットを入れ替える
この課題では、アルファベットを「逆にする」か、で交換a-zしz-aます。これは、一般にAtbashサイファーと呼ばれます。 この変換により、出力は外国語のように見えるため、コードはできるだけ短くする必要があります。 例 abcdefghijklmnopqrstuvwxyz zyxwvutsrqponmlkjihgfedcba Programming Puzzles & Code Golf Kiltiznnrmt Kfaaovh & Xlwv Tlou Hello, World! Svool, Dliow! 仕様 入力には複数の行が含まれる場合があり、ASCIIのみになります いかなる 追加の空白が出力に追加すべきではありません 大文字と小文字を区別する必要があります リーダーボード コードスニペットを表示 var QUESTION_ID=68504,OVERRIDE_USER=40695;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/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 t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var …
48 code-golf  string 

10
月曜日のミニゴルフ#6:Meeesesessess upp teeexexextext
月曜日のミニゴルフ:毎週月曜日に(願わくば!)投稿された一連の短いコードゴルフチャレンジ。 実話1:先日、JavaScriptをテストするためにPCで通常使用するページにアクセスすることを考えていたときに、タブレットで遊んでいた。ページが読み込まれた後、次の簡単なプログラムを入力しました。 alert("Hello!") その後、[実行]ボタンを押して、入力したコードが無効であると言われたときは驚きました。私はテキストボックスをもう一度見て、これを見ました: alllelelerlerlertlert("Heeelelellellelloello!") え?それは私が入ったものではありません!それで、ここで何が起こったのでしょうか?それを理解するために、2つの簡単な行を入力しました。 abcdefg 0123456 これは次のように判明しました。 abbbcbcbcdbcdbcdebcdebcdefbcdefbcdefgbcdefg 0112123123412345123456 今では、文字に何が起こったのかまだ分かりませんでしたが、数字はもっとシンプルに見えたので、詳しく調べました。判明したように、Webページは最初の文字を入力し、新しい文字が押されるたびに文字列の残りすべてを繰り返していました。 0112123123412345123456 0 1 12 123 1234 12345 123456 しかし、手紙のセクションはどうですか?少し考えた後、それはまったく同じであることに気づきましたが、各サブセクションを1回繰り返す代わりに、2回繰り返します。 abbbcbcbcdbcdbcdebcdebcdefbcdefbcdefgbcdefg a bb bcbc bcdbcd bcdebcde bcdefbcdef bcdefgbcdefg 2つの組み合わせは、これらの手法の組み合わせで機能します。 abc123z abbbcbcbc1bc12bc123bc123zbc123z a bb bcbc bc1 bc12 bc123 bc123zbc123z どのようなグリッチはそう、これは句読点やスペースでリセットすると思われる原因とabc defなりましたabbbcbc deeefef。 この時点までに、私はそれを理解し、それを興味深い挑戦に変えることに夢中になっていたので、そもそもそこにいた理由を忘れていました。(ただし、通常の入力方法を考えました。すべての文字の後にスペースとバックスペースを押します。かなり退屈ですが、やらなければならないことをしなければなりません。) チャレンジ チャレンジの目標は、処理されるテキストを取り込み、上記の変更を行い、結果を出力/返すプログラムまたは関数を作成することです。 詳細 入力には印刷可能なASCIIのみが含まれ、タブや改行は含まれません。 テストケース 入力:(1行に1つ) Mess …
48 code-golf  string 

30
レゴピースを印刷する
この課題は、単純なascii-artの課題です。レゴのピースの高さと幅を説明する2つの入力がある場合、そのASCIIアート表現を印刷します。 レゴのピースの外観は次のとおりです。 (4, 2) ___________ | o o o o | | o o o o | ----------- (8, 2) ___________________ | o o o o o o o o | | o o o o o o o o | ------------------- (4, 4) ___________ | o o o o …

6
文字列をHodorize
Hodorはショーのオン遅い心が、かわいらしいキャラクターでゲーム・オブ・スローンズ(彼はだで図書もちろん、同様)。彼が言う唯一の言葉は「hodor」です。 驚いたことに、語彙が多くないにもかかわらず、Hodorは常に正しい大文字と句読点を使用して完全な文で話し、実際に意味を伝えます。 Hodorは、128 文字すべてのASCII文字を表現できますが、各文字を言うには文全体が必要です。各文字には、文としての単一の正確な表現があります。ASCII文字列は、文字列内のすべての文字を対応するHodor文に変換し、すべての文を結合することによりHodorizedされます。すべての文字は正確な文にマッピングされるため、すべてのASCII文字列は単一の一意のHodorized表現を持ちます。 臭気のキャラクター Hodorは、128の表現可能な文字を、文字を表す文に4種類の句読点を使用して、32の4セットに分割します。 文は...で終わります .ASCII文字コードmod 4が0の場合。 .[newline][newline] (新しい段落の場合)コードmod 4が1の場合。 ? コードmod 4が2の場合。 ! コードmod 4が3の場合。 たとえば、のASCII文字コードbは98で、98 mod 4は2なので、Hodorの文bは必ずで終わり?ます。 文の内容は、単語「hodor」のみを含む32個の異なる文字列の1つです。特定の句読点タイプの32文字のそれぞれは、異なる文内容文字列にマッピングされます。したがって、32の文内容文字列と4つの句読点タイプにより、128個のASCII文字すべてを個別のHodor文として表現できます。 ASCIIコードCを持つ文字の文の内容を決定するには、(floor(C / 4) + 16) mod 32;を計算します。このリストのその行のコロンの後はすべて文の内容です。 0:Hodor 1:HODOR 2:Hodor hodor 3:Hodor, hodor 4:Hodor hodor hodor 5:Hodor, hodor hodor 6:Hodor hodor hodor hodor 7:Hodor hodor, hodor hodor 8:Hodor …
48 code-golf  string 

7
川を避ける
バックグラウンド タイポグラフィでは、川はテキストブロック内の視覚的なギャップであり、スペースの偶然の整列により発生します。これらは特にあなたの脳が周辺視でそれらをより簡単に拾い上げているように見え、常にあなたの目をそらします。 例として、次のテキストブロックを見てください。行の幅が82文字を超えないように改行されています。 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eismod tempor incididunt ut labore et dolore maga aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum …

14
速すぎる、フーリエすぎる:FFTコードゴルフ
できるだけ少ない文字で高速フーリエ変換を実装します。 ルール: 最短のソリューションが勝つ 入力は、長さが2のべき乗である1D配列であると想定できます。 任意のアルゴリズムを使用できますが、解は実際には単純な離散フーリエ変換ではなく、高速フーリエ変換でなければなりません(つまり、O (NログN)O(Nログ⁡N)O(N \log N)漸近的計算コストが必要です) 編集: コードは、標準の高速フーリエ変換を実装する必要があります。その形式は、このWolframの記事の式(3)で見ることができます。 既存の標準ライブラリまたは統計パッケージからFFT関数を使用することは許可されていません。ここでの課題は、FFTアルゴリズム自体を簡潔に実装することです。

30
*、/、+、-、%演算子を使用せずに数値を3で除算する
SO(スポイラーアラート!)でこの質問を引用: この質問は、Oracleのインタビューで尋ねられました。 *、/、+、-、%、演算子を使用せずに数値を3で除算するにはどうすればよいですか? 番号は署名されている場合と署名されていない場合があります。 タスクは解決可能ですが、最短のコードを記述できるかどうかを確認してください。 ルール: 必要な整数除算を実行します(/3) 非テキストベースの演算子を使用しないでください*、/、+、-、または%(またはその等価物、など__div__またはadd())。これは、i++またはのような演算子のインクリメントとデクリメントにも適用されますi--。文字列の連結とフォーマットに演算子を使用しても問題ありません。これらの文字をさまざまな演算子(-負の数の単項演算子など)に使用したり*、Cでポインターを表すことも同様に問題ありません。 入力値は、正と負の両方の任意の大きさ(システムが処理できるもの)にすることができます 入力は、STDINまたはARGVに入力するか、他の方法で入力できます 上記を実行できる最短のコードを作成します

25
C ++でのゴルフのヒント
C ++でゴルフをするための一般的なヒントは何ですか?私は少なくともC ++に特有のゴルフ問題全般のコーディングに適用できるアイデアを探しています(たとえば、「コメントを削除する」は答えではありません)。回答ごとに1つのヒントを投稿してください。
48 code-golf  tips  c++ 

8
N-movers:無限のボードにどれだけ到達できますか?
シングルムーブ ボードは、無限のチェス盤のような無限の2次元の正方形グリッドです。値N(N-mover)を持つピースは、現在の正方形(中心から中心まで測定されたユークリッド距離)からNの平方根の距離にある任意の正方形に移動できます。 例えば: 1ムーバーは、水平方向または垂直方向に隣接する任意の正方形に移動できます 2発動機は、斜めに隣接する任意の正方形に移動できます 5発動機はチェスの騎士のように動く すべてのNムーバーが移動できるわけではないことに注意してください。ボード上の正方形はどれも現在の正方形から正確にルート3の距離にないため、3ムーバーは現在の正方形から離れることはできません。 複数の動き 繰り返し移動できる場合、一部のピースはボード上の任意の正方形に到達できます。たとえば、1ムーバーと5ムーバーの両方でこれを実行できます。2ムーバーは斜めにしか移動できず、正方形の半分にしか到達できません。3ムーバーのように移動できないピースは、どの正方形にも到達できません(移動が発生しない場合、開始正方形は「到達」としてカウントされません)。 画像は、到達可能な正方形を示しています。ホバーの詳細。画像をクリックすると拡大します。 1つ以上の動きで到達可能な正方形は黒でマークされます 正確に1回の移動で到達可能な正方形は、赤い部分で表示されます (移動できない3ムーバーを除く)。 特定のNムーバーが到達できるボードの割合は? 入力 正の整数N 出力 N-moverが到達できるボードの割合 これは0から1までの数値です(両方を含む) この課題では、1/4などの最低条件の分数としての出力が許可されます だから、入力のために10、両方1/2と0.5許容出力です。個別の分子と分母としての出力も許容され、浮動小数点も分数もサポートしない言語も含まれます。たとえば、1 2または[1, 2]。 整数出力(0および1)の場合、次のいずれかが受け入れ可能な形式です。 0の場合:0、0.0、0/1、0 1、[0, 1] 1: 、1、1.0、、1/11 1[1, 1] 得点 これはコードゴルフです。スコアは、バイト単位のコードの長さです。各言語について、最短のコードが優先されます。 テストケース 形式で input : output as fraction : output as decimal 1 : 1 : 1 2 …

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