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

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

25
重要な空白:警官
この課題のために、空白をラインフィード(0x0A)とスペース(0x20)のみとして定義します。ほとんどの言語と正規表現フレーバーは、ASCII範囲の内側と外側の両方で、他の多くの文字も同様に空白と見なすため、対応するビルトインを使用できない場合があります。 警官の挑戦 選択した言語でプログラムまたは関数を作成する必要があります。これは、ASCII(NULを除く)文字で構成される文字列を入力として受け取り、すべての空白を削除して出力します。たとえば、次の入力を受け取った場合: H e l l o, W o r l d! 出力する必要があります Hello,World! 提出物は、すべての空白が削除されたソースコードになります(ソリューションに入力としてソリューションを渡すのと同じプロセスですが、ソリューションにはASCII範囲外の文字が含まれている場合もあります)。あなたの目標は、選択した言語で有効なソリューションを回復するために空白を挿入する必要がある場所を把握することを可能な限り難しくすることです。強盗は、削除するよりも少ない空白を挿入できますが、追加することはできません。また、強盗は正確なコードと一致する必要はなく、有効なソリューションを見つける必要があるだけであることを忘れないでください。 あなたの答えは次を含むべきです: ソリューションを作成した言語(および必要に応じてバージョン)。 空白を削除する前のソリューションのバイトカウント。 空白が削除されたソリューション。 ソリューションはプログラムまたは関数のいずれかですが、スニペットではなく、REPL環境を想定してはなりません。STDIN、コマンドライン引数または関数引数を介して入力を受け取り、STDOUT、関数の戻り値または関数(出力)パラメーターを介して出力することができます。 公平を期すために、選択した言語用の無料のインタープリターまたはコンパイラーが必要です。 ハッシュ、暗号化、または乱数生成に組み込み関数を使用しないでください(乱数ジェネレーターを固定値にシードした場合でも)。ソリューションは、適切なデスクトップマシンで100文字以下の文字列を10秒未満で処理できる必要があります。 回答が7日(168時間)以内に解読されなかった場合、回答が安全であると見なされる時点で独自の解決策を明らかにすることができます。解決策を公開しない限り、7日が経過していても、強盗によってまだ解読されている可能性があります。最短の安全な回答が優先されます(空白を削除する前に測定)。 回答がクラックされた場合、対応する強盗の回答へのリンクとともに、回答のヘッダーにこれを記載してください。 強盗の部分はここに行きます。 クラックされていない提出 <script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 103182;</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script> …

12
連続投票の検出
Stack Exchange は、シリアル投票(1人のユーザーが他のユーザーの投稿の多くをアップ投票またはダウン投票する場合)を自動的に検出し、それを取り消します。この課題では、非常に単純な「連続投票」検出器を実装します。 入力 入力は、投票のリストを表す文字列です。2文字のグループはすべて投票を表します。最初のグループは投票者で、2番目のグループは投票対象のユーザーです。たとえば、次の入力 ababbccd 解析することができab ab bc cd、かつ表しa上の投票b二回、 b上の投票c一度、とcに投票をd一度。 入力は小文字のみで構成され、常に0を超える偶数長になります。また、自分自身に投票することもできません(そのため、いいえaaまたはhh)。 出力 このチャレンジのために、連続投票は、特定のユーザーが他のユーザーに3回以上投票することとして定義されます。 出力は、ユーザごとに逆転されなければならない(つまり、多くの票どのようにどのように多くの票であるの形式で、各ユーザーが逆転して、彼らは与えられていることではないどのように多くの票逆転しました)[user][votes][user2][votes2]...。たとえば、abababab(4回a投票する)の入力はb出力する必要があります b4(4票がからに逆転しaましたb)。 出力は任意の順序にすることができますが、入力と出力の両方が上記のように単一の文字列でなければなりません。 テストケース In Out --------------------------------------------------------------------------- abababcbcbcbcbbababa b7a3 edfdgdhdfgfgfgih g3 jkkjjkkjjkkjljljljmlmlnmnmnm j6k3m3 opqrstuv <none> vwvwwvwv <none> xyxyxyxyxyxyxyzyzyzyxzxzxz y10z3 nanananananananabatman a8 banana <none>
51 code-golf 

18
4音のオルゴールでその曲を再生できますか?
一連の4つのノートを演奏できるクランク式オルゴールがあります。クランクを回すと、クランクの位置と回転の方向に応じて、4つの弦のうちの1つが弾かれます。クランクを真北に向けると、ボックス(ストリングは1から4までの番号が付けられています)は次のようになります。 1 | 2 | O 4 3 そこから、クランクを時計回りに回して#2弦を摘み、クランクを東に向けることができます。 1 2 O--- 4 3 または、クランクを北から反時計回りに回して#1弦を演奏し、クランクが西を指すようにすることもできます。 1 2 ---O 4 3 いつでも、ボックスは次の2つの音符のいずれかを再生できます。次の音符は時計回りに使用でき、次の音符は反時計回りに使用できます。 チャレンジ あなたの課題は、音符の値(すなわち、数字の非空の文字列受け入れプログラムまたは機能書くことで1スルー4)し、オルゴールのノートのシーケンスを再生するには、これまで可能であるかどうかを判断します。入力の再生可能性または再生不可能性を示すために、真実または偽の結果を生成します。 いくつかのメモ: 入力では、最初の開始位置については想定されていません。入力214(東から開始して厳密に反時計回りに移動)および234(北から開始して厳密に時計回りに移動)および両方が有効です。 クランクは各音の後にどちらの方向にも自由に移動できます。333331つの文字列を前後に移動することにより、同じ音符の連続が可能です(例:)。シリーズ1221441は完全にプレイ可能です(西から始まり、時計回りに2ステップ、次に反時計回りに3ステップ、時計回りに2ステップ移動します)。 サンプル いくつかのtrueケース: 1 1234 1221 3333 143332 22234 2234 22214 1221441 41233 いくつかのfalseケース: 13 (note 3 is never available after note 1) 1224 (after …

15
コードゴルフチャレンジ、m'kay
マッキー氏は、彼が言うことすべてに「m'kay」を追加することで有名なサウスパークのキャラクターです。 一連のテキストをMackey氏が言うようなものに変換するプログラムまたは関数を作成します。 M'kay配置 m'kay持っているランダムな50%の確率で追加されたの句読点の後に,、.、?と!。その場合、その前にスペースが続く正確に同じ句読点が続きます。 たとえば、文Test, test.でm'kayは、追加できる場所が2つあります。カンマの後とピリオドの後に、それぞれの場所で50%のチャンスがあります。可能な結果はになりますTest, m'kay, test。またはTest, test. M'kay.またはTest, m'kay, test. M'kay.。 常に少なくとも1つm'kay追加する必要があります。さらに、常に同じ場所にあるとは限らず、m'kay追加できる有効な各場所は同じ確率で発生する必要があります。つまりm'kay、ランダム性のためにを追加したことがない場合、文字列の最後に常に追加することはできませんm'kay。が1つしかない場合m'kay、その存在は強制されますが、各有効な位置に現れる同じ確率を持たなければなりません。 場合m'kayの後で?、.または!、m大文字にする必要があります。 min の数は、m'kay1から3の間で均一に選択する必要があります。つまりm'kay、mm'kayおよびmmm'kayはすべて可能性のある選択肢であり、それぞれ確率0.33 ... mがあります。 入力、出力 入力は、ASCII Dec 32(スペース)からASCII Dec 126(ティルデ~)までの文字を含むASCII文字列です。入力に改行はありません。入力には少なくとも1つが含まれると想定できます, . ? !。 m'kay入力にそのバリアントがないか、またはそのバリアントがあるとみなすことができます。 入力は、STDIN、関数の引数、コマンドライン、または同様のものから取得できます。 出力は、STDOUT、関数リターン、または同様のものを介して行われます。 テストケース 入力: Test. 可能な出力: Test. M'kay. 入力: Programming Puzzles & Code Golf Stack Exchange is a question and answer …
51 code-golf  string 

20
タイムトラベルの検出
車、電車、スケートボード、原子炉など、コンピューターは現在どこにでもあります。ソフトウェアがタイムトラベルデバイスで実行される可能性は時間の問題です。対処できますか?少なくとも検出できますか? あなたのタスク: タイムトラベルを検出するために、ループしてシステム時間を照会し続けるプログラムを作成します。 2つの連続するクエリ間で時間が1日以上進む場合、それはタイムトラベルです。この場合、プログラムは次を印刷する必要があります。 TS TS: YYYY? You mean we're in the future? 2つの連続するクエリ間で時間が少しでも戻った場合、それは逆方向のタイムトラベルです。この場合、プログラムは次を印刷する必要があります。 TS TS: Back in good old YYYY. TS TSタイムトラベルの前後のタイムスタンプです。YYYY宛先年です。 タイムスタンプは、非数字で区切られた少なくとも4桁の年、月、日、時間、分、秒を含む任意の形式にすることができます。 制限事項: 少なくとも19、20、21世紀の日付をサポートする必要があります。 このチャレンジが投稿される前に存在していた言語を使用する必要があります。 このチャレンジが投稿された後にのみ回答を投稿する必要があります。 回答が投稿される前に存在していた言語を使用する必要があります。 回答は、投稿した後にのみ編集できます。 プログラムは、必要な出力以外の出力を印刷してはなりません。時々「グレートスコット!」許可されています。 これはコードゴルフです。最短の答えが勝ちです。 関連する映画の参照は、おそらくあなたの答えを長すぎますが、あなたに賛成を得るかもしれません。
51 code-golf  date 

24
Minecraft Mirrored
これはカルビンです。このユーザーがPPCG Minecraft Serverチャットルームでチャットできるように、20人の担当者を取得しようとしています。 正の整数を取り込むプログラムまたは関数を作成します。 整数が偶数(2、4、6、...)の場合、この正確なASCIIアート文字列を出力または返します。 __ __ __ __ ___ /\ /\ | |\ | | / | | /\ | | / \/ \ | | \ | |-- | |--\ /__\ |-- | / \ | | \| |__ \__ | \ / \ | | 整数が奇数(1、3、5、...)の場合、この正確なASCIIアート文字列を出力または返します。 __ …

30
マンデルブロフラクタルを生成[終了]
あなたの仕事は、ASCIIでマンデルブロセットを描画することです。次のようになります 複素数cマンデルブロ集合、シーケンスの嘘z(n+1) = z(n)^2 + c、z(0) = 0有界遺跡。この課題の目的のために、cifの範囲のシーケンスを考慮することができます|z(32)| < 2。 できるだけ少ない文字を使用して、お気に入りの言語でアスキー文字を使用して、(-2-i)から(1 + i)までの複雑な平面に設定されたマンデルブロを40x30の最小解像度でプロットします。

30
言語のバージョンを決定する
あなたの挑戦は、あなたの言語の異なるバージョンで動作する多言語を書くことです。実行すると、常に言語バージョンが出力されます。 ルール プログラムは、少なくとも2つのバージョンの言語で動作するはずです。 プログラムの出力はバージョン番号のみである必要があります。無関係なデータはありません。 プログラムは、好きな方法を使用してバージョン番号を決定できます。ただし、出力はルール2に従う必要があります。ただし、バージョン番号を決定する場合、出力は番号のみでなければなりません。 プログラムは、言語のメジャーバージョンを出力するだけで済みます。たとえば、FooBar 12.3.456789-betaでは、プログラムは12を出力するだけで済みます。 言語でバージョン番号の前後に単語または記号を配置する場合、それらを出力する必要はなく、番号のみを出力します。たとえば、C89では、プログラムはprintのみを必要89とし、C ++ 0xでは、プログラムはprintのみを必要とします0。 フルネームまたはマイナーバージョン番号、たとえばC99ではなくC89を印刷する場合、名前のみを印刷する必要があります。C89 build 32は有効ですが、無効ですerror in C89 build 32: foo bar。 プログラムは、言語バージョンを決定するために組み込み、マクロ、またはカスタムコンパイラフラグを使用しない場合があります。 得点 スコアは、コードの長さをそれが機能するバージョンの数で割ったものになります。最低スコアが勝ち、幸運を祈ります!

30
ホッキョクグマ、ホッキョクグマ、あなたは何を聞きますか?
絵本のホッキョクグマ、ホッキョクグマ、あなたは何を聞きますか? 非常に単純なパターンを持っています。このテキストを使用して、プログラミングの入門概念を教えることができます。 息子はすぐにこのアイデアに飽きてしまったので、代わりにゴルフをすることにしました。 挑戦 選択したプログラミング言語で、次のテキストを印刷する最小のプログラムを作成します。出力は、大文字と小文字、間隔、句読点を含めて正確に一致する必要があります。 Polar Bear, Polar Bear, what do you hear? I hear a lion roaring in my ear. Lion, Lion, what do you hear? I hear a hippopotamus snorting in my ear. Hippopotamus, Hippopotamus, what do you hear? I hear a flamingo fluting in my ear. Flamingo, …

18
プライムアリ🐜
「prime ant」は、整数をナビゲートし、素数だけが残るまで整数を分割する頑固な動物です。 最初に、2以上のすべての整数を含む無限配列Aがあります。 [2,3,4,5,6,.. ] ましょうp配列上のアリの位置になります。最初はp = 0(配列は0でインデックス付けされています) ターンごとに、アリは次のように移動します。 場合はA[p]素数である、次の位置へ移動アリ:p ← p+1 それ以外の場合A[p]、が合成数の場合q、より小さい除数> 1とします。で除算A[p]しq、に加算qしA[p-1]ます。アリは前の位置に移動します。p ← p-1 アリの最初の動きは次のとおりです。 2 3 4 5 6 7 8 9 ... ^ 2 3 4 5 6 7 8 9 ... ^ 2 3 4 5 6 7 8 9 ... ^ 2 5 2 …

30
Helloellolloloo Worldorldrldldd
入力した単語を取得し、その単語を最初の文字を除いた自分の後ろに追加し、すべての文字がなくなるまで繰り返しますプログラムを作成します。たとえば、catになりcatatt、にhelloなりhelloellollolooます。 英語のアルファベットの26文字のいずれかを入力します。スペースで区切られた複数の単語がある場合があり、変更はすべての単語に適用する必要があります。 出力 入力された単語で、各単語は最初の文字が欠落してから次の文字が欠落し、その後追加される文字がなくなるまで続きます。 その他の例: ill eel 出力 illlll eelell laser bat 出力 laserasersererr batatt darth vader 出力 dartharthrththh vaderaderdererr これはコードゴルフなので、最短のコードが勝ちます。 明確化: 入力または出力をリストとして扱うことができます。スペースの代わりに改行を使用して単語を区切ることができます。入力に末尾スペースを追加できます。
50 code-golf  string 

30
最小公倍数の説明
2つの正の整数AとBが与えられた場合、最初の行のすべてのAthダッシュと2番目の行のすべてのBthダッシュを垂直バーに置き換えた後、長さLCM(A、B)の2行のダッシュ()を出力することにより、最小公倍数を示します()。-| このように、各行の終わりは2 |の行が並ぶ唯一の場所になります。 たとえば、A = 6およびB = 4の場合、LCM(6、4)= 12のようになります。 two lines of 12 dashes: ------------ ------------ replace every 6th dash in the first line with a vertical bar: -----|-----| ------------ replace every 4th dash in the second line with a vertical bar: -----|-----| ---|---|---| したがって、最終的な出力は -----|-----| ---|---|---| 入力番号の順序は、行の順序に対応する必要があります。 バイト単位の最短コードが優先されます。 テストケース …

30
アルファベットだけを使用して、「そして彼女は「しかし、それは彼だ」と言った」というフレーズを印刷
And she said, 'But that's his.'次の文字のみを使用してフレーズを印刷しabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ます。句読点やアルファベット以外の文字は一切使用しません。任意のプログラミング言語を使用できます。空白は完全に許可されます。最短のプログラムが勝ちます。

30
Nを分割しない最小の数を見つける
この課題は、それはすべてのタイトルに基本的だという単純な十分です:あなたは正の整数で与えられているNを、あなたはの除数ではない最小の正の整数を返す必要がありNを。 例:N = 24の約数は1, 2, 3, 4, 6, 8, 12, 24です。そのリストにない最小の正の整数は5であるため、ソリューションが見つけるべき結果です。 これは、OEISシーケンスA007978です。 ルール プログラムまたは関数を作成し、入力を受け取り出力を提供する当社の標準的な方法を使用できます。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 これはcode-golfであるため、バイト単位で測定された最短の有効な回答が勝ちます。 テストケース 最初の100の用語は次のとおりです。 2, 3, 2, 3, 2, 4, 2, 3, 2, 3, 2, 5, 2, 3, 2, 3, 2, 4, 2, 3, 2, 3, 2, 5, 2, 3, 2, 3, 2, 4, 2, 3, …

30
最大の除数を減算することにより、nから1までのステップ数は?
数学でこの質問に触発されました。 問題 ましょうn自然数≥ 2です。の最大の除数(それ自体nとは異なる)をn取得し、それからを引きnます。になるまで繰り返します1。 質問 1特定の数に達するのに何歩かかりますかn ≥ 2。 詳細な例 させてくださいn = 30。 の最大の除数: 1. 30 is 15 --> 30 - 15 = 15 2. 15 is 5 --> 15 - 5 = 10 3. 10 is 5 --> 10 - 5 = 5 4. 5 is 1 --> 5 - …

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