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

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

14
フィボナッチスパイラル
あなたの目標は、数字でフィボナッチスパイラルを生成することです。 入力/出力の例 1 -> 1 2 -> 1 1 3 -> 1 1 2 2 2 2 6 -> 8 8 8 8 8 8 8 8 5 5 5 5 5 8 8 8 8 8 8 8 8 5 5 5 5 5 8 8 8 8 8 …

30
100個のJava Tupleクラスを生成します
標準出力、または同等の言語で、次で始まる100行の(有効な)Javaコードに書き込むスクリプトを作成します。 class Tuple1 {public Object _0;} class Tuple2 {public Object _0,_1;} class Tuple3 {public Object _0,_1,_2;} class Tuple4 {public Object _0,_1,_2,_3;} class Tuple5 {public Object _0,_1,_2,_3,_4;} class Tuple6 {public Object _0,_1,_2,_3,_4,_5;} class Tuple7 {public Object _0,_1,_2,_3,_4,_5,_6;} class Tuple8 {public Object _0,_1,_2,_3,_4,_5,_6,_7;} class Tuple9 {public Object _0,_1,_2,_3,_4,_5,_6,_7,_8;} class Tuple10 {public Object …

28
レイランド番号
自然数を指定するnと、n-番目のレイランド数を返します。 レイランド・ナンバー レイランド数は次kの形式の正の整数です k = x^y + y^x どこにx,y1よりも厳密に大きい整数です。 それらは昇順で列挙されます。 編集: @DigitalTraumaは、次の「定義」を含めることを提案しました: 私たちはスロー想像x^y+y^x可能なすべての値のために袋にx及びy、かつ重複で回避投げ。次に、そのバッグをソートします。ソートされたバッグはシーケンスです。 詳細 最適なものであれば、0または1ベースのインデックスを使用できます。 プログラムは、少なくとも符号付き32ビット整数の最大値より小さいすべてのLeyland数を出力できなければなりません。(この制限を下回る最後のレイランド数は1996813914、インデックスにあります82。) テストケース 最初のいくつかの用語は次のとおりです。 8, 17, 32, 54, 57, 100, 145, 177, 320, 368, 512, 593, 945, 1124 OEISのA076980、最初のエントリを除く。その追加の最初のエントリのために、OEISのインデックスは1シフトされることに注意してください。 OEIS b-ファイルでさらに見つけることができます

30
すべての英数字とアンダースコアを印刷します
英数字とアンダースコアの文字列を任意の順序で印刷または返すプログラムまたは関数を作成します。正確には、次の文字が出力する必要がない、そして何より: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_ 標準出力に出力する場合、出力後のオプションの末尾の改行が許可されます。 上記の文字を9つ以上含む組み込み定数は許可されません。 バイト単位の最短コードが優先されます。 これは非常に簡単な挑戦であり、それでもなお興味深い答えが得られると思います。 リーダーボード これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 # Perl, 43 + 2 (-p flag) = 45 bytes 言語名をリンクにして、リーダーボードスニペットに表示することもできます。 # [><>](http://esolangs.org/wiki/Fish), 121 bytes コードスニペットを表示 var QUESTION_ID=85666,OVERRIDE_USER=4162;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 …

30
合計の二乗の差
合計の平方と平方の合計の差を見つけます。 これは数学的な表現です。 (∑n)2−∑n2(∑n)2−∑n2\left(\sum n\right)^2-\sum n^2 プログラム/メソッドは、2つの入力を取る必要があります。これらは、範囲の下限と上限であり、包括的です。制限は0より大きい整数全体です。 プログラム/メソッドが答えを返すはずです。 どのベースを使用しても構いませんが、使用したベースを回答に明記してください。 テストケース(ベース10) 5,9 970 91,123 12087152 1,10 2640 これは通常のコードゴルフですので、答えは短いほど良いです。

30
qwertyキーボードを出力します
文字を指定すると、その文字に続くqwertyキーボードレイアウト全体(スペースと改行を含む)が(画面に)出力されます。例はそれを明確にします。 入力1 f 出力1 g h j k l z x c v b n m 入力2 q 出力2 w e r t y u i o p a s d f g h j k l z x c v b n m 入力3 m 出力3 (プログラムは出力せずに終了します) 入力4 l …

8
出力サイズがGrahamの数を超える最短の終了プログラム
以下の要件を満たす最短のプログラム(バイト単位で測定される長さ)を作成します。 入力なし 出力は標準出力へ 実行は最終的に終了します 出力バイトの合計数がGrahamの数を超えています プログラムは、無制限のリソースにアクセスできる理想的なコンピューター1で「正常な」終了まで実行され、必要に応じて(構文を変更せずに)共通のプログラミング言語が変更されると仮定します。これらの仮定のため、これを一種のゲダンケン実験と呼ぶかもしれません。 物事を始めるために、急成長している階層でfω+ 1(99)を計算する73バイトのRubyプログラムを以下に示します。 f=proc{|k,n|k>0?n.times{n=f[k-1,n]}:n+=1;n};n=99;n.times{n=f[n,n]};puts n 1編集:より正確には、既存のシステムを使用して、ストレージサイズに上限がないように変更します(ただし、常に有限です)。命令の実行時間は変更されることは想定されていませんが、マシンは動作寿命に上限がないという点で理想的であると想定されています。

22
忍者と猿と熊、オーマイ!
このチャレンジは、ブロックビルディングボットフロックを獲得したNinjaBearMonkeyの賞です!ブラックナイトの提出に挑戦してください。おめでとうございます、NinjaBearMonkey! ここでの課題は非常に単純ですが、さまざまなアプローチが可能です。物語は、等尺性錯覚の世界には、6種類のクリーチャーがいるということです。 忍者、略称 N クマ、略称 B サル、略称 M NinjaBears、略称 NB BearMonkeys、略称 BM NinjaBearMonkeys、略称 NBM (NinjaBearMonkeyは、もちろん最後の、最も強力なタイプです。) あなたの仕事は、これらのクリーチャーが並んでいるとき、つまり略語の文字列が連結されているとき、これらのクリーチャーの人口調査を取ることです。警告は、いくつかのクリーチャーの一部を偶然似ているように見える別個のクリーチャーとして数え過ぎないようにする必要があることです。クリーチャーは次のように並んでいます: のインスタンス NBMは、1つのNinjaBearMonkeyと0の他のクリーチャーです。 がNB続かないインスタンスMは1匹のNinjaBearと0匹の他のクリーチャーです。 BMが前にないインスタンスNは、1 BearMonkeyと0他のクリーチャーです。 そうでない場合は、のインスタンスN、BおよびMそれぞれ単一忍者、クマ、サルです。 行は左から右に読み取られます。 だから、例えば、生き物のラインで NBMMBNBNBM、0の忍者、1つのクマ、1つの猿、1つのNinjaBear、0のBearMonkeys、および2つのNinjaBearMonkeyがあります。 チャレンジ 文字の文字列を取り込みプログラムや関数を書くN、Bと、M、およびプリントや生き物の6種類のそれぞれの多くは、その中に存在しているかを返します。 出力の形式は次のとおりです。 #N #B #M #NB #BM #NBM それぞれのクリーチャーが各#サインを置き換えます。6カウントはすべて、0であってもスペースで区切って表示する必要があります。ただし、それらは任意の順序である場合があります(例:#NBM最初に来る可能性があります)。 また: 入力文字列は、文字だけが含まれますN、BとM。 空の文字列が入力された場合、すべてのカウントは0です。 出力には、オプションで、単一の先頭および/または末尾のスペース、および/または単一の末尾の改行を含めることができます。 バイト単位の最短提出が勝ちです。 例 入力:NB 出力:0N 0B 0M 1NB 0BM 0NBM 入力:NBM 出力:0N …
37 code-golf  string 

30
単語の文字がアルファベット順かどうかを確認します
小文字/大文字の文字列[A-Za-z]を入力として受け入れ、出現する文字が一意であり、アルファベット順(小文字と大文字を無視)であるかどうかをチェックする関数/プログラムを作成します。出力は、一意であり、アルファベット順である場合は真実であり、そうでない場合は偽である必要があります。 ここにいくつかのテストケース a true abcdefGHIjklmnopqrSTUVWXyz true aa false puz true puzz false puzZ false puZ true PuZ true pzu false pzU false abcdABCD false dcba false 必要に応じて、このような単語リストのすべての単語でプログラムを実行し、興味深いものを投稿してください=)。 スコア 最も少ないバイト数が優先されます。

30
すべての10進数が一意かどうかを判別
Stack Overflowで削除された質問は、素晴らしいゴルフ教材になる場合があります。 入力として非負の整数を取り、その数値の基数10表現のすべての数字が一意である場合にtrueを返す関数を作成します。例: 48778584 -> false 17308459 -> true 文字数には関数のみが含まれます。 CまたはC ++で回答することを選択した場合:マクロなし、未定義の動作なし。実装定義の動作とコンパイラの警告は問題ありません。

30
アルファベットを4回印刷する
プログラムは、アルファベットを4回印刷する必要があります。最初は通常のアルファベット順、2番目はqwertyキーボード、3番目はdvorakキーボード、最後は逆アルファベット順です。出力は次のようになります。 abcdefghijklmnopqrstuvwxyz qwertyuiopasdfghjklzxcvbnm pyfgcrlaoeuidhtnsqjkxbmwvz zyxwvutsrqponmlkjihgfedcba 出力では大文字と小文字が区別されず、必要に応じて改行またはスペースを追加または削除できます。 キャッチ:プログラムは104文字未満である必要があります。つまり、アルファベットの長さの4倍より小さい必要があります。 もっと感銘を受けた、本当に賢い、または面白い何かが見られない限り、最短のコードで答えを受け入れます。 編集:2011年4月27日水曜日に最短回答を受け入れます。 EDIT2:そして、勝者は(いつものように)64文字のGolfscriptです!2番目は3文字しか後ろにありませんが、67文字でGolfscriptにあり、3番目に72文字でBashが続きます。 しかし、のような、私は言及したかったいくつかの他、ありました。この1あなたの定義に応じて、唯一の52「文字」を使用し、かつ、これ彼は、彼が作成した言語でそれを書きました。 書かれていないルールを破り、資格を与えられなかった人が数 人 いましたが、私はそれらを箱なしでの彼らの考え方だけで言及します。

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

30
パイとeを混ぜてパイを作ります!
誰もが知っているパイに、その直径に対する円の円周の比を表す数学定数を。 3.14159265358979323846264338327950288419716939937510... あなたは、おそらくも知っている電子数学定数、自然対数の底を。 2.71828182845904523536028747135266249775724709369996... しかし...あなたはパイを知っていますか?これは最も重要な定数の1つです(私にとって)。piとeの数字ですインターリーブされた。 32.1741185298216852385485997094352233854366206248373... 小数展開として: 3, 2, 1, 7, 4, 1, 1, 8, 5, 2, 9, 8, 2, 1, 6, 8, 5, 2... これはOEISシーケンスA001355ですです。 キーワード:nonn、base、dumb、easy それは非常に馬鹿げたシーケンスです。 チャレンジ 非負の整数nを取り、pieのn番目の桁を出力するプログラム/関数を作成します。 仕様書 標準のI / Oルールが 適用されます。 標準的な抜け穴は禁止されています。 ソリューションは少なくとも50桁の各定数で機能する必要があります。つまり、少なくとも100シーケンスのシーケンスで機能する必要があります(してみてください:Pないハードコードします)。 2または3の出力は小数点ではありません。 ソリューションには、0インデックスまたは1インデックスを付けることができますを指定を指定してください。 この課題は、すべての言語で最短のアプローチを見つけることではなく、各言語で最短のアプローチを見つけることです。。 コードはバイト単位で記録されます特に指定がない限り、通常はエンコーディングUTF-8で、。 このシーケンスを計算する組み込み関数が許可されますが、組み込みに依存しないソリューションを含めることをお勧めします。 「実用的な」言語であっても説明が奨励されます。 テストケース これらは0インデックスです。 Input Output 1 2 2 …

5
P i = = 3。2
このInfinite Seriesのビデオに触発されました。 前書き 円周率は、円の直径に対する円周の比率として定義されます。しかし、円はどのように定義されますか?通常、円は中心点までの距離が一定の点として定義されます(中心がにあると仮定します(0,0))。次の質問は、距離をどのように定義するかです。以下では、距離の異なる概念(Lp-norms によって誘導される)を検討しています。 ノルム(= 長さを測定するもの)が与えられると、次のように距離(= 2点間の距離)を簡単に構築できます。 dist(A,B) := norm (A-B) ユークリッドノルムは次の式で与えられます。 norm((x,y)) = (x^2 + y^2)^(1/2) これはL2-normとも呼ばれます。他のLpノルムは2、上記の式の1から無限大までの他の値で置き換えることにより作成されます。 norm_p((x,y)) = (|x|^p + |y|^p)^(1/p) これらの異なる基準の単位円は、非常に明確な形をしています。 チャレンジ が与えられたp >= 1場合、有効数字4桁の精度で-ノルムに対するLp円の円周と直径の比を計算しLpます。 テストケース 私たちは、のためにそれを使用することができるp,qと1 = 1/p + 1/q我々は同じ比率を得るLpだけでなく、Lq規範。さらに用p = q = 2比率最小限であり、そしてのためにp = 1, q = infinity私たちは4の比率を取得し、その比率は、間常にあるpiと4。 p or q ratio 1 infinity …

18
デンマーク語で100まで数える
デンマークのカウント方法を使用して、0〜100のすべての数字を正しい順序で印刷します。 彼らが数える方法 英語と同様に、0〜20、30、40、100の専用の単語があります。 その代わりと言ってのtwenty-oneとtwenty-two、彼らが言うone and twentyと、two and twenty 50から始まって、彼らはn * 20として10の倍数を言う 50 = half third times twenty = half way to the 3rd multiple of 20 60 = three times twenty 70 = half fourth times twenty 80 = four times twenty 90 = half fifth times twenty したがって、たとえば55はになりますfive and …

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