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

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

6
粘着性のある軽い装飾をアニメーション化する
この挑戦は、私の家の法廷での粘着性のあるクリスマスライトに敬意を表します。 課題は、「リアルタイム」で装飾を示すグラフィカルな出力を作成することです。 ビデオ(gifまたはその他の形式)には、n行m列の垂直および水平の「ライト」があります。5 <= m、n <= 40。フレームのサイズと解像度はn とmによって異なる場合がありますが、n、m = 5の場合は少なくとも50x50ピクセルである必要があります(ベクトルグラフィックは問題ありません)。絵とは次のようになります。n=6m=5 装飾: 色: すべてのライトは以下の6 RGB-色のいずれかを持っています{255,0,0}、{0,255,0}、{0,0,255}、{255,255,0}、{0,255,255}と{255,0,255}。 アニメーション: nそしてm任意の合理的な形式にし、あなたが好きな順に入力とさせていただきます 画像は毎回変更されdt = 25 msます。インタープリターの制限、コンピューターの速度低下などの「外部要因」が原因である場合、偏差は問題ありません。 タイムステップを手動で設定できない場合は、デフォルトのタイムステップが受け入れられます。 すべてのライトはで赤({255,0,0})になりt=0ます。 最初のライト(左上)の色が変わる可能性は常に5%です。すべての色(現在持っている色を除く)は同じように見えるはずです。 各ライト(最初のライトを除く)は、その左側のライトの色を取得します。ライトが左端にある場合、上の行の右端にあるライトの色を取得します。ライトには、下図のように番号が付けられています。ライト番号kは、ライト番号の色を取得しk-1ます。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 理論的には、出力は永遠に実行されるはずです(ただし、言語/インタープリターにこれを妨げる制限がある場合を除く)。 少なくとも5秒、できればそれ以上の回答のサンプルを提供してください(これは推奨事項であり、要件ではありません)。(TIOまたは同様のものへのリンクももちろんOKです:D) フレーム、軸、グリッド線などが受け入れられます。 6行5列 15行30列

17
データを無効化
データを無効にするには、すべての数字(数字ではない!)をゼロで、すべての文字(文字列ではない!)をスペースで再帰的に置き換えます。 言語が処理できる単一の数字、文字、または文字列、または混合した数値/文字データの再帰配列*を受け入れる必要があります。たとえば、言語がそのような文字列を処理できる場合は、実際の文字列を受け入れる必要があります(入力を単一文字のリストに制限しないでください)。 言語にこのタスクのすべてまたはほとんどを実行するビルトインが含まれている場合、追加の代替バージョンを用意していただければ幸いです。 各言語での最短の提出が勝者であり、私から賛成票を受け取ります。 サンプルケース "" → "" 7 → 0 123.456 → 0 "X" → " " " " → " " "Yo!" → " " [] → [] [-1.2E3] → [0] ["Hey"] → [" "] ["H","e","y"] → [" "," "," "] ["R",2,"D",2] → [" ",0," ",0] ["C","3","P",0] → …

6
マジックミラーの狂気
前書き 魔法の鏡でいっぱいの部屋があります。それらは、別の魔法の鏡を除いて、あらゆるアイテムを複製できる神秘的なアーティファクトです。より明確には、アイテムの複製バージョンが同じ距離でミラーの反対側に表示されます。ただし、複製ミラーとアイテム(オリジナルまたは複製)の間に、両側に別のマジックミラーがある場合、複製は形成されません。元のアイテムはミラーの左または右に配置でき、複製は反対側に表示されます。また、複製したアイテム自体を別のミラーで複製できます。アイテムが他のアイテムの複製をブロックすることはありません(複製される予定の位置に直接いることを除く)。 入力 入力は、.#|空のスペース、アイテム、マジックミラーを表す文字で構成される文字列です。入力には常に少なくとも1つのマジックミラーがあります。 出力 出力は、上記のルールに従って、各マジックミラーが可能なすべてのアイテムを複製した別の文字列になります。重複するアイテムが表示される場所には常に空きスペースがあると想定できます(したがって、アイテムが範囲外に出ることはありません)。 例 入力文字列を考えます .#.|.....|......# A B C D ここでは明確にするためにいくつかの位置をマークしています。ミラーBはitemを複製Aし、最終的に右になります。 .#.|.#...|......# A B C D ミラーCは新しいアイテムを複製します: .#.|.#...|...#..# A B C D ミラーCが邪魔になっているAため、ミラーBはアイテムを複製できません。DミラーBが反対側にあるため、itemを複製することもできません。同様に、ミラーBが邪魔になるため、DミラーCはアイテムまたはその隣のアイテムを複製できません。したがって、これは正しい出力です。 別の例として、入力を考えます .##..#...|#..##...|..##....#. AB C DE FG H IJ K ミラーは、D複製することができますAし、B右へ、そしてEそしてG左へ。 既に互いに重複CしFています。文字列は .##.##..#|#..##.##|..##....#. AB C DE FG H IJ K ミラーはH複製することができE、Fとの重複AとB右へ、そしてI左へ。 GとJは既に互いに重複しており、ミラーDはの邪魔になりKます。今、私たちは持っています .##.##..#|#..#####|#####..##. AB C …
22 code-golf  string 

12
ハートのハンドを獲得する
ハーツは、4人のプレーヤーのためのトリックを取るカードゲームです。各トリックは、リーディングスーツの最高のカードをプレイしたプレーヤーによって行われます。各ハンドの終わりに、プレーヤーは自分が取ったペナルティカードに応じてペナルティスコアを負います。タスクは、Microsoft Heartsルールの下でスコアを決定することです。 入力 入力は、4人のプレーヤーのそれぞれが取ったペナルティカードを示す4つのリスト(または区切り文字列、配列など)です。ペナルティカードは 2♥, 3♥, 4♥, 5♥, 6♥, 7♥, 8♥, 9♥, 10♥, J♥, Q♥, K♥, A♥, Q♠ 私たちは 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1, 0 それぞれ。 出力 出力は、4人のプレーヤー(リスト、文字列、配列など)が被った4つのペナルティポイントです。スコアリングは次のとおりです。 各ハート(♥、両端1を13含む整数で表される)には1ポイントが発生します スペードの女王(Q♠、で表される0)には13ポイントがかかります 例外:プレーヤーがすべてのペナルティカードを獲得した場合(月の射撃と呼ばれる)、彼は0ポイントを被り、他のすべてのプレーヤーは26ポイントを被ります。 テストケース [2, 8, 7, 1], [3, 4], [], [9, 5, 6, …

10
配列を単純化する
入力 配列または正の連続した昇順整数を含むことができる配列。配列には、その中に任意の数の配列を含めることができます。空の配列はありません。 出力 簡素化されたこの配列 配列を単純化する方法 [1, [2, 3], [[4]], [[[5, 6], 7, [[[8]]]], 9]]例として配列を使用します。 最初に、値のネストの深さを確認します。深度とそれらの深度での数値は次のとおりです。 0 1 1 2 3 9 2 4 7 3 5 6 5 8 出力配列は、元の配列の数値を取得し、ネストの深さでグループ化してから、要素の元の深さの深さでグループをネストすることで構築します。数字を昇順と深さで並べます。 したがって、出力は [1, [2, 3, 9], [[4, 7]], [[[5, 6]]], [[[[[8]]]]]] 例 [1, [2, 3], [[4]], [[[5, 6], 7, [[[8]]]], 9]] …

15
オペレーターASCIIアート
チャレンジ 以下のリストのASCII演算子と数値nが与えられた場合、長さnの演算子の線分を持つ文字としてその演算子を使用して、演算子のASCII表現を描画します。 入力 リストからASCII文字= + - x /と整数。(の代わりにおよびの代わりに使用していますが、どちらか簡単な方を使用できます)。以下のためにと、あなただけのアライメントの問題を回避するために、奇数を処理する必要があります。nn >= 1x*/÷+x 出力 長さnのセグメントを持つ文字で構成される演算子のASCII図面。水平方向の部分は、垂直/水平距離の違いを相殺するために文字間にスペースが必要です。 ルール これはcode-golfなので、バイト単位の最短コードが優先されます。標準的な抜け穴は禁止されています。 例 入力: + 3 + + + + + 入力: = 4 = = = = = = = = 入力: = 10 = = = = = = = = = = = = = …

24
ポリグロットアナグラム強盗のスレッド
これがこの挑戦の強盗のスレッドです 警官はOEISシーケンスを選択し、2つの異なる言語で2 つの完全なプログラムを作成し、STDINを介してnを指定すると、シーケンスのn番目のアイテムを生成します。2つのプログラムは相互のアナグラムである必要があります。つまり、それぞれを他の文字から再配置できます。 彼らはOEIS番号、ソースコードとの名前発表します1つのそれはである言語を。 警官が使用する言語以外の言語で実行される元の警官の提出のアナグラムを見つける必要があります。あなただけ見つけなければならない答えクラックする任意のシーケンスを生成し、元のアナグラムである言語やプログラムを、必ずしも警官が考えていた答え。 文字コードで出力するか、STDERRをソリューションに含めることができますが、それは、警官が隠しソリューションを示している場合のみです。STDOUTへの10進出力は常に有効なクラックです。 したがって、警官は、シンボルのリストを使用してタスクを実行する言語を見つけるのをできるだけ難しくするように奨励されます。 得点 最もクラックの多い人がこのセクションの勝者になります。各ソリューションの最初のクラックのみがスコアにカウントされます。 リーダーボード このチャレンジで起こったすべての人に感謝します。 これがリーダーボードです Place User Score ----------------------------- 1 Adnan 3 1 Kritixi Lithos 3 1 Emigna 3 1 milk 3 5 Steven H. 2 5 Wheat Wizard 2 5 jimmy23013 2 8 ETH Productions 1 8 Dennis 1 8 alleks 1 …

24
大きな岩を小さな岩にする
グラインダーへようこそ。 あなたの仕事は、大きな岩を粉砕して小さな岩にすることです。 サイズの大きな岩の入力をn > 3 取得し、それを粉砕します。 すべての岩石のサイズがなるまで粉砕機にそれらを捨てて岩石を粉砕し続けます2。 岩は常に均等な半分に粉砕されます。研削の結果が奇数の場合、結果を取得します-1。 進行中に各粉砕の出力を印刷します。 例 入力: 5 出力: 22 結果は、サイズ2の2つの岩です。 入力: 50 出力: 2424 //two rocks of size 24 12121212 //four rocks of size 12 66666666 //8 rocks of size 6 2222222222222222 結果はサイズ2の16の岩です 入力: 30 出力: 1414 6666 22222222 結果は、サイズ2の8つの岩です。 これはコードゴルフなので、最短のコードが勝ちます!楽しさと幸運を!

7
不運な数字!
知っておくべきこと: まず、ラッキーナンバー。 ラッキーナンバーは次のように生成されます: すべての自然数を取る: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20... 次に、各2番目の数字を削除します。 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39... 今、3安全です。 3番目ごとに番号を削除します。 1, 3, 7, …

30
$ PATH変数を行ごとにエクスポート
AskUbuntuに関するこの質問に触発されました。 あなたの仕事は非常に簡単です。PATH環境変数(echo $PATH)を取得し、(:文字で区切られた)各エントリが独自の行にあるようにエクスポートします。 たとえば、PATHがの/bin:/usr/bin:/usr/local/bin場合、プログラムは次を出力する必要があります。 /bin /usr/bin /usr/local/bin あなたのプログラムは先頭の改行を返さないかもしれませんが、単一の末尾の改行を返すかもしれません。PATHが正しいかどうか、またはディレクトリが存在するかどうかを確認する必要はありません。プログラムは何も入力しないでください。つまり、プログラムはPATH自体を取得する必要があります。PATH内のオブジェクトに:改行または改行が含まれていないと想定しても安全です。ただし、スペースは公平なゲームです。 参照実装は、上記の質問に対する回答に含まれています。 ルール これは(明らかに)コードゴルフであるため、最短の回答が緑のチェックマークを獲得します。 受け入れられた回答は、実際に合法であることを確認するためにテストされます。 Windowsと* nixの両方のエントリが受け入れられます。 ただし、Windowsを明示的に指定しないと、Linuxで実行しようとして失敗します。(明らかな場合(こんにちは、バッチ!)、明示的に指定する必要はありません。) 回答ごとに1つのソリューションのみがあります。Windowsと* nixの両方のバージョンがある場合は、短い方を数えます。 2つの回答の長さが同じである場合、合計投票数の多い方を優先します。彼らが同じ票の合計を持っている場合、私は古いものを数えます。投稿された時間が同じ場合、より高速に実行されるものを選択します。同じ時間で実行される場合、私は知りません。 リーダーボード コードスニペットを表示 var QUESTION_ID=96334,OVERRIDE_USER=15422;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 i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i; body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px} …
22 code-golf  string 

25
クインアナグラム!(警官の糸)
これは警官のスレッドです。強盗のスレッドについては、ここをクリックしてください。 警官の仕事 まず、選択した言語で馬を書きます。 次に、馬をスクランブルします。強盗がそれを解読して元のソースコードを見つけようとするので、これをうまく行うようにしてください!スクランブルコードは機能する必要がないことに注意してください。 このスレッドに回答を投稿してください。言語、バイトカウント、およびスクランブルコードを含めます。 プログラムがSTDERRに出力されない場合があります。 警官の提出の例を次に示します。 Python、29バイト nt _%=_r;_riinp;pr_='t _%%%_' 強盗のタスク 強盗のスレッドについては、ここをクリックしてください。 安全な提出 投稿の1週間後に提出物がまだクラックされていない場合は、ソリューションを追加し、安全であることを指定できます。そうしないと、提出物にクラックが発生する可能性があります。 得点 これはcode-golfであるため、安全な送信でバイト数が最も少ないユーザーがこのセクションの勝者になります。 リーダーボード このチャレンジのリーダーボードを生成するスタックスニペットを以下に示します。適切に表示するには、提出物を次のようにフォーマットしてください。 # Language Name, N bytes ... other stuff ... 提出物がクラックされた場合、次のようにフォーマットしてください。 # Language Name, N bytes, [Cracked!](link) ... other stuff ... 提出が安全な場合は、次のようにフォーマットします。 # Language Name, N bytes, Safe! ... other stuff ... …

1
グリッドタングラムを解く
タングラムは五異なるサイズの三角形、平行四辺形や広場:7つの形状から作られた解剖パズルです。形状が与えられた場合、目標は、すべてのピースを使用して、重複することなく形状を再作成することです。このピースのセットを平面に配置するには、明らかに無限に多くの方法があります。興味深いサブセットは グリッドタングラム 「標準の」タングラム正方形を、グリッドで 16個の小さな正方形に分割された大きな正方形に描画できます。グリッドタングラムは、タングラムのすべての頂点がグリッドポイント上にあるように、タングラムのピースで構成される形状です。 これらは、おそらくより一般的なものよりも扱いやすいため、この課題で検討したいタングラムパズルの種類です。 補足:中国の数学者であるChuan-Chin HsiungとFu Traing Wangは、1942年に凸タングラムが13個しかないことを証明しました。彼らはまず問題をグリッドタングラムに縮小できることを示し、次にいくつかの組み合わせおよび幾何学的引数を使用しました。これらはすべて13です。 チャレンジ 解けるグリッドタングラムが与えられた場合、グリッドタングラムの解剖を7つのタングラムピースに出力します。 IO タングラムは、両側が50pxの倍数である白黒画像(形状は黒、背景は白)として与えられます。グリッドの幅は正確に50pxです。グリッド線は画像の側面に平行です。 編集:画像は入力として受け入れられ、PNG、TIFF、PBMなどの便利なラスター画像形式で出力として返されますが、バイナリ2d配列または文字列または行列としての表現は受け入れられます。 出力も同じサイズで同じ形状である必要がありますが、各ピースの色が異なるか、すべてのピースを分離する白い線が必要です。四角形以外の四角形を反転できることに注意してください。 ピースの境界上のピクセルは、シェイプ上のピクセルと正確に一致する必要はありません。エイリアシング効果やその他のファズがある場合でも、これで問題ありません。 入力と出力の例: 例: 可能な解決策:

8
モジュロロザスを生成する
クールなもの 次のロザスは、7を法とする数値の計算に役立ちます。 そのためには、0から開始して、最初の桁で指定された数のステップを時計回りに回す必要があります。次に、連続する各桁について、矢印に従い、その桁で指定されたステップ数だけ時計回りに回します。 294番の手順は次のとおりです。 サークル0から開始します。 最初の桁で与えられるステップ数を時計回りに回します(これは2で、最終的に2になります)。 そこで矢印をたどります(最終的に6になります)。 2番目の桁で与えられるステップ数を時計回りに回します(9で、最終的に1になります)。 そこの矢印に従います(最終的に3になります)。 3番目の数値(4、つまり0になります)で指定されたステップ数を時計回りに回します。 294 mod 7 = 0(294は7の倍数を意味します)。 (まだ取得していない場合のビデオの説明) 目標 それがどのように機能するかを理解してください(私は知っていますが、教えません)。 nパラメータに数値を取り、のrosaceを生成するプログラムを作成しますmod n。 ロザスは、8歳の子供が使用できる限り、任意の手段(ASCII、PNGの生成、SVGの生成など)で表示できます(したがって、ルールのリストはありません。写真が必要です)。 例で作成したものよりも明確ではない場合でも、直線を使用できますが、何らかのテールバイティング矢印で自分自身を指す数字を明確に表示する必要があります。 テストケース (数字間のリンクのみを提供します。プログラムで問題が生成されたら、気軽に質問を編集してください) mod 2: 0 -> 0 1 -> 0 mod 3: 0 -> 0 1 -> 1 2 -> 2 mod 4: 0 -> 0 1 -> …

30
隣人の合計
これは非常に簡単な課題です。 数値の配列の場合、すべての要素についてすべての隣接要素がそれ自体に追加される配列を生成し、その配列の合計を返します。 入力配列で発生する変換は次のとおりです [1,2,3,4,5] [1,2,3,4,5] => [1+2, 2+1+3, 3+2+4, 4+3+5, 5+4] => [3,6,9,12,9] => 39 0 => neighbours of item 0, including item 0 [1,2] => 1 + 2 => 3 1 [1,2,3] => 1 + 2 + 3 => 6 2 [2,3,4] => 2 + 3 + 4 => …
22 code-golf 

30
アルファベットパーティーハットを描く
あなたの仕事はこの正確なテキストを印刷することです: z yz xyz wxyz vwxyz uvwxyz tuvwxyz stuvwxyz rstuvwxyz qrstuvwxyz pqrstuvwxyz opqrstuvwxyz nopqrstuvwxyz mnopqrstuvwxyz lmnopqrstuvwxyz klmnopqrstuvwxyz jklmnopqrstuvwxyz ijklmnopqrstuvwxyz hijklmnopqrstuvwxyz ghijklmnopqrstuvwxyz fghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz defghijklmnopqrstuvwxyz cdefghijklmnopqrstuvwxyz bcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz 大文字小文字は関係ありません。 これはcode-golfであるため、バイト数が最小のコードが優先されます。

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