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

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

21
算術デリバティブ
関数の導関数は、数学、工学、物理学、生物学、化学、および他の多くの科学の基礎でもあります。今日は、接線方向にのみ関連する何か、算術微分を計算します。 定義 算術導関数a(n)またはn'は、関数の導関数に似た多くのプロパティによってここで定義されます(A003415)。 a(0) = a(1) = 0、 a(p) = 1、p任意の素数、および a(mn) = m*a(n) + n*a(m)。 第3の規則は、機能の分化のための製品のルールに基づいている:機能のためf(x)とg(x)、(fg)' = f'g + fg'。だから、数字で、(ab)' = a'b + ab'。 また、この単純な関係を介して算術導関数を負の数に拡張できるためa(-n) = -a(n)、入力は負になる場合があります。 ルール 任意の整数を指定するとn、の算術導関数を返すプログラムまたは関数を記述しますn。 入力はになり、整数のサイズと数値が大きすぎて妥当な時間を考慮できないという問題を回避します。アルゴリズムは、この範囲外の数値の算術導関数を理論的に計算できるはずです。-230 < n < 230 シンボリック数学、素因数分解、微分の組み込みが許可されています。 例 > a(1) 0 > a(7) 1 > a(14) # a(7)*2 + a(2)*7 = …

30
ケースの複製と切り替え
目標は、文字列を入力として、各ラテン文字を複製し、大文字と小文字を切り替えます(つまり、大文字が小文字に、またはその逆になります)。 入力と出力の例: Input Output bad bBaAdD Nice NniIcCeE T e S t Tt eE Ss tT s E t sS Ee tT 1!1!1st! 1!1!1sStT! n00b nN00bB (e.g.) (eE.gG.) H3l|@! Hh3lL|@! 入力は、印刷可能なASCIIシンボルで構成されます。 非ラテン文字、数字、特殊文字を複製しないでください。
34 code-golf  string 

24
IHIHピラミッド
「H」と「I」の文字が非常に似ているのは魅力的です。「H」は、2つの垂直ストロークに囲まれた水平ストロークです。「I」は、2つの水平ストロークに囲まれた垂直ストロークです(フォントによって異なります)。これは入れ子にできると思います...それが何を思い出させるか知っていますか?フラクタル !!! 「IHIH」ピラミッドを次のように定義します。最初の反復は、文字「I」のこのASCII表現です。 --- | --- 次の反復では、両側に垂直ストロークがあります。 | | |---| | | | |---| | | 中央の「I」を単一の水平ストロークとして表示する場合、この2番目の反復は基本的に「H」です。3番目の反復では、上下に水平ストロークを追加します ------- | | |---| | | | |---| | | ------- 繰り返しになりますが、中央の「H」を単一の垂直ストロークと見なす場合、この反復は基本的に「I」です。このパターンは、繰り返しごとに「H」と「I」を交互に繰り返します。参考までに、最初の6つの反復を以下に示します。 1: --- | --- 2: | | |---| | | | |---| | | 3: ------- | | |---| | | …

30
アレイを平らにします!
この課題では、あなたの仕事は、ネストされた配列を取り込んで、一次元の平坦化された配列を返すプログラムを作成することです。たとえば、[10,20,[30,[40]],50]出力する必要があります[10,20,30,40,50]。 入力 入力はネストされた配列になります(例:)[10,20,[[[10]]]]。整数(負と正の両方)、文字列、配列のみが含まれます。入力を関数の引数、STDIN、または言語に適したものとして受け取ることができます。入力配列に空の配列がないと仮定できます。 出力 出力は、ネストされた配列と同じ順序で同じタイプの同じ要素を持つフラット化された1次元配列になります。 テストケース [10,20,30] -> [10,20,30] [[10]] -> [10] [["Hi"],[[10]]] -> ["Hi",10] [[[20],["Hi"],"Hi",20]] -> [20,"Hi","Hi",20] [[["[]"],"[]"]] -> ["[]","[]"] コメントを使用して、説明を求めてください。これはcode-golfなので、バイト単位の最短コードが勝ちです! 注: 言語にこれが組み込まれている場合は、使用しないでください。 編集 コードを実行できるWebサイトへのリンクも含めてください。

14
camelCaseに変換
チャレンジ 先日GoogleのJavaスタイルガイドを読んでいて、アルゴリズムを見つけて任意の文字列をcamelCase表記に変換しました。このチャレンジでは、コードゴルフチャレンジへの非常に競争力のあるJava提出物を作成するときに頭の中でこれらすべてを実行したくないため、このアルゴリズムを実装する必要があります。 注:アルゴリズムを少し調整しました。以下に指定されているものを使用する必要があります。 アルゴリズム 任意の入力文字列で開始し、次の操作をそれに適用します。 すべてのアポストロフィを削除 `' で分割して結果を単語に分割します 英数字でも数字でもない文字 [^a-zA-Z0-9] 両側が小文字に囲まれている大文字。abcDefGhI jk例えば収量abc Def Ghi jk すべての単語を小文字にします。 最初の単語を除くすべての単語の最初の文字を大文字にします。 すべての単語を元に戻します。 その他の注意事項 入力には、印刷可能なASCIIのみが含まれます。 数字が単語の最初の文字である場合は、そのままにして、この単語の他の文字を大文字にしないでください。 入力には常に少なくとも1つの文字が含まれます。 ルール 機能または完全なプログラムが許可されます。 入出力のデフォルト規則。 標準の抜け穴が適用されます。 これはcode-golfなので、バイト数が最も少なくなります。Tiebreakerは以前の提出です。 テストケース 「プログラミングパズルとコードゴルフ」->「programmingPuzzlesCodeGolf」 「XML HTTPリクエスト」->「xmlHttpRequest」 「iOSでIPv6をサポートしますか?」-> "supportsIpv6OnIos" "SomeThing w1th、apo'strophe's and 'punc] tuation"-> "someThingW1thApostrophesAndPuncTuation" 「特別なものなし」->「特別なものなし」 "5pecial ca5e"-> "5pecialCa5e" "1337"-> "1337" 「1337-spEAk」->「1337Speak」 「whatA mess」->「whataMess」 「abcD」->「abcd」 「a」->「a」 …
34 code-golf  string 

18
どのドミノが欠落していますか?
標準のドミノセットは 28点のユニークな作品があります。 28個以下の一意のドミノのリストを指定して、完全なセットを作成するために必要なリストを出力します。 入力と出力のドミノが2桁で指定されている-ドミノの各側のピップの数、例えば00、34、40、66。 数字は任意の順序で指定できるため、34同じドミノと同じです43 入力例 00 01 02 03 04 05 06 11 12 13 14 15 16 22 23 24 25 26 33 34 35 36 44 45 46 55 56 66 00 10 11 20 21 22 30 31 32 33 40 41 42 43 44 50 …

21
すべての文字列を出力する
一連の文字を指定すると、それらの文字で構成されたすべての文字列が出力されます。(これはセットのKleeneスターです。)たとえば、の{'a','b'}場合、文字列は次のとおりです。 '', 'a', 'b', 'aa', 'ab', 'ba', 'bb', 'aaa', 'aab', ... 入力:明確な文字の空でないコレクションa..z。これらは、文字または単一文字の文字列です。 出力:それらの文字のすべての文字列、任意の順序、繰り返しなし。文字のリストを文字列として使用できます。 これは無限のリストなので、次の方法で出力できます。 ますます多くの文字列を書いて永遠に実行します。これらの文字列は、フラットに区切られた任意の形式で記述できます。つまり、各文字列がどこで終了するかはわかりますが、文字列はグループに分割されません。 n入力として数値を取り、n任意のフラットな分離形式で最初の文字列を出力します ジェネレーターオブジェクトから各文字列を順番に取得する 無限のオブジェクトを生成する 一部の文字列に到達することなくセットから無限に多くの文字列を生成することが可能であるため、メソッドが最終的に出力内のすべての文字列を生成することを確認してください。 あなたはそれを出力することはできません n与えられたth文字列の生成n 特定の文字列がセットに属するかどうかを決定するメンバーシップオラクルを提供する ビルトインは許可されていますが、ほとんどビルトインに依存しているものよりも、操作自体を実装する回答に注意を払うよう投票者にお願いします。 コードスニペットを表示 var QUESTION_ID=74273,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/74273/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 …
34 code-golf  string 

13
過去の素数の思い出
素数考えるPベース10に書き込まれ、メモリのpは厳密未満異なる素数の数として定義されるPのサブストリングとして含まれるP。 チャレンジ 入力として負でない整数nが与えられた場合、pがメモリnを持つような最小の素数pを見つけます。つまり、正確にn個の厳密に小さい素数を部分文字列として持つ最小の素数を見つけます。 入力 入力は、任意の標準形式で取得できます。出力がオーバーフローしないように、最大nまでの入力をサポートする必要があります。参考として、4294967291は32ビットで最大の素数です。 出力 出力はSTDOUTに書き込まれるか、関数から返されます。 例 数値2にはサブストリングとして厳密に小さい素数が含まれていないため、メモリ0があります。 113という数字は、メモリ3を持つ最小の素数です。3、13、および11という数字が唯一の素数サブストリングであり、113より小さい素数には、サブストリングとして正確に3つの素数が含まれません。 n = 0で始まるシーケンスの最初の10項は次のとおりです。 2, 13, 23, 113, 137, 1237, 1733, 1373, 12373, 11317 注意 これは、OEISのA079397です。 リーダーボード var QUESTION_ID=55406,OVERRIDE_USER=20469;function answersUrl(e){return"http://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"http://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 …

13
あなたの平均的な馬を1つアップ
1アップQUINEは QUINEに非常によく似ているプログラムです。1つの大きな違いは、1回印刷する代わりに、プログラムのn個のコピーが連結されると、結果は元のプログラムをn + 1回印刷することです。 例 プログラムがAbc123次の場合: Abc123 -> Abc123Abc123 Abc123Abc123 -> Abc123Abc123Abc123 Abc123Abc123Abc123 -> Abc123Abc123Abc123Abc123 チャレンジ あなたの課題は、任意の言語で最短の有効な1アップクインを作成することです。通常のクインルールが適用されるため、次のことはできません。 空のプログラムを送信します。 直接的または間接的に読み出す1にソースコードを。 quiningビルトインを使用します。 これはコードゴルフなので、バイト単位の最短コードが優先されます。 1これには、プログラムの一部としてハードコーディングされた文字列またはコードブロックの使用は含まれません。

24
乗算で並べ替え
正の整数のリストを指定したプログラムまたは関数を作成して、各要素に可能な限り最小の正の整数を乗算して、厳密に増加するリストを作成する必要があります。 たとえば、入力が 5 4 12 1 3 乗算は 5*1=5 4*2=8 12*1=12 1*13=13 3*5=15 出力は増加するリストになります 5 8 12 13 15 入力 少なくとも1つの要素を含む正の整数のリスト 出力 正の整数のリスト 例 9 => 9 1 2 => 1 2 2 1 => 2 3 7 3 => 7 9 1 1 1 1 => 1 2 3 …

5
XKCDタイプに適合するインターフェースを作成します
colors.rgb( "blue")は、 "#0000FF"を生成します。colors.rgb( "yellowish blue")はNaNを生成します。colors.sort()は「rainbow」を生成します 画像とそのタイトルテキスト(ここで引用)に設定されているルールを使用して、指定されたすべての入力を受け入れ、適切な出力を表示するプログラムを作成します。 入力は、stdinまたはそれに最も近いもので取得できます。[n]>入力するような行があり、nコマンドごとに1つずつ増加します。1から開始する必要があります。 結果は、stdoutまたは最も近いものを使用して表示する必要があります。=>出力の各行にが必要です。 13の条件すべてに加えて、タイトルの3(引用)が機能する必要があります。 これはコードゴルフなので、最短の回答が勝ちます。
34 code-golf 

30
ヤッツィースモールストレート検出
ゲームYahtzeeでは、プレイヤーは6つのサイコロを5つ振り、ポイントを獲得するために特定の手を作成しようとします。そのようなハンドの1つは小さなストレートです。4つの連続した数字で、必ずしも順番に並んでいるとは限りません。三つの可能な小型のストレートがあり1, 2, 3, 4、2, 3, 4, 5と3, 4, 5, 6。 たとえば[3, 5, 6, 1, 4]、小さな直線が含まれてい[3, 4, 5, 6]ます。 入力 ヤッツィーハンドを表す、それぞれ1〜6の5つの整数のソートされていないリスト。 出力 手に小さなストレートが含まれる場合は真実の値、それ以外の場合は偽の値。 テストケース 真実: [[1, 2, 3, 3, 4], [1, 2, 3, 4, 5], [3, 5, 6, 1, 4], [1, 5, 3, 4, 6], [4, 5, 2, 3, 5], [1, …

28
パワーボール番号を選択してください!
パワーボールは、現在のジャックポット(2016年1月11日現在)が過去最大の宝くじ賞金であり、約15億ドル(米ドル)であるため、最近注目を集めているアメリカの宝くじです。)であるます。 パワーボールプレーヤーは、69個の白いボールから5つの異なる番号を選択し、26個の赤いボールから1つの「パワーボール」を選択します。彼らは勝つ彼らの5つの白いボールの選択肢は、任意の順序で描かれたものと一致した場合にジャックポットを、そして彼らは正しい「パワーボール」の数を選択した場合。 したがって、ジャックポットを獲得する可能性は1 (69 choose 5)*(26 choose 1)または((69*68*67*66*65)/(5*4*3*2*1))*26であり、これは292,201,338に1です 最新の抽選で誰もジャックポットを獲得しませんでした2016年1月9日のが、おそらく2016年1月13日午後10時59分(ET)に誰かが次の抽選に勝つでしょう。 チャレンジ 入力を行わず、1から69までの5つの異なる乱数を出力し、次に1から26までの1つのランダムな「パワーボール」番号を出力する、パワーボールの描画をシミュレートするプログラムまたは関数を作成します。初期番号)。 「Powerball」番号は常に出力の最後の番号である必要がありますが、最初の5つの番号の順序は重要ではありません。 6つの数値は、スペースで区切られた、または改行で区切られた10進数で出力される必要があり、オプションの単一の末尾の改行があります。コンマ、角括弧、およびその他の文字は出力に使用できません。 したがって、これらは有効な出力になります(最後の図面の番号を使用): 32 16 19 57 34 13 32 16 19 57 34 13 すべての292201338の可能な結果は、均一な確率で可能になるはずです。組み込みの擬似乱数ジェネレータを使用し、それらがこの標準を満たしていると仮定することができます。 Python 2または3で機能する、参照されていない参照実装です。 import random print(' '.join(map(str, random.sample(range(1,70), 5) + [random.randint(1, 26)]))) バイト単位の最短コードが優先されます。 私はパワーボールと提携しておらず、実際にプレイすることを提案していないことに注意してください。しかし、ここのプログラムのいずれかによって生成された数字から何かを獲得した場合、私たちはそれについて聞いてみたいと確信しています。:D

10
ASCIIのビットパターンからフラクタルを生成する
概要 フラクタルをコード化するビットパターンと、フラクタルの世代ごとのスケールファクターおよび世代数を指定して、単純なフラクタルパターンを印刷するプログラムを作成します。 説明 これは、シェルピンスキーカーペットの ASCII表現です。。 ジェネレーション0: # ジェネレーション1: # # # # # # # # ジェネレーション2: # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # …

30
ねじれた言葉!
ねじれた言葉! 文字列と正の整数を指定します。ひもを前後にねじる必要があります。 入力/出力の例 入力 Programming Puzzles & Code Golf 4 出力 Prog mmar ing zzuP les oC & de G flo 入力 入力は、STDIN、または関数引数を介して取り込むことができます。入力は、文字列と正の整数nで構成されます。整数は、各ツイスト線の長さを決定します。 弦は前後にねじれています。HELLO, WORLD!と5 の入力は次のようになります。 出力 出力は、ねじれたテキストになります。末尾の空白は使用できません。入力文字列の長さが行の長さで割り切れない場合、行がいっぱいになるまでスペースを追加します。 この例: 入力 Hello, World! 5 出力(最後の空白に注意してください) Hello roW , ld!
34 code-golf  string 

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