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

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

28
ファイを計算する(パイではない)
いいえ、私は意味しないϕ = 1.618...とπ = 3.14159...。私は機能を意味します。 φ(x)は、にx比較的素数であるかそれ以下の整数の数ですx。 π(x)は、以下の素数の数ですx。 「not pi」がπ̅(x)であり、それ以下の複合体の数になるように定義するとしましょうx。 仕事 厳密に正の整数を指定してx、φ(π̅(x))を計算しますます。スコアリングはバイト単位です。 例 各行は、入力(1〜100を含む)と、スペースで区切られた対応する出力で構成されます。 1 0 2 0 3 0 4 1 5 1 6 1 7 1 8 2 9 2 10 4 11 4 12 2 13 2 14 6 15 4 16 6 17 6 18 4 19 …
73 code-golf  sequence  primes  number-theory  code-golf  decision-problem  code-golf  date  code-golf  typography  code-golf  math  number  multiple-holes  code-golf  quine  code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

30
Haskellでのゴルフのヒント
Haskellでゴルフをするための一般的なヒントは何ですか?私は、少なくともHaskellに特有のゴルフ問題全般のコーディングに適用できるアイデアを探しています。回答ごとに1つのヒントのみを投稿してください。 Haskellでゴルフをするのが初めての場合は、Haskellのゴルフ規則ガイドをご覧ください。また、専用のHaskellチャットルーム:Of Monads and Menもあります。

30
数字を折りたたみません
仕事 次のように、数字の英語名の文字列が一緒に「折りたたまれ」ている場合: zeronineoneoneeighttwoseventhreesixfourtwofive 文字列を分割して数字に戻します。 zero nine one one eight two seven three six four two five ルール 入力は常に文字列です。常に1つ以上の小文字の英語の数字名で構成され、一緒に折りたたまれ、それ以外は何もありません。 英語の数字の名前はzero one two three four five six seven eight nineです。 出力は、文字列のリスト、または数字がアルファベット以外の空でない文字列で区切られた新しい文字列です。(あなたの出力もあり、必要に応じて最初または最後にこのような文字列があり、区切り文字は一貫している必要はない。だから、のようにも何かが{{ zero0one$$two );ために有効な(不合理な場合)の答えですzeroonetwo。) バイト単位の最短回答が優先されます。 テストケース three -> three eightsix -> eight six fivefourseven -> five four seven ninethreesixthree -> nine three six …
72 code-golf  string 

16
世界最小のWebブラウザ
バックストーリー: メガマルチコーポレーションで新しいプログラミングの仕事を楽しんでいます。ただし、コンピューターにはCLIしかないため、Webを閲覧することはできません。また、全従業員のハードドライブのスイープも実行するため、大きなCLI Webブラウザーを単純にダウンロードすることはできません。できる限り小さく、毎日一時ファイルに入力できるように、できるだけ小さいシンプルなテキストブラウザーを作成することにしました。 チャレンジ: あなたの仕事は、コマンドラインインターフェイス内でゴルフWebブラウザーを作成することです。そうすべき: argsまたはstdin経由で単一のURLを取得します URLのコンポーネントdirectoryとhostコンポーネントを分割します 単純なHTTPリクエストを送るhostと要求しますdirectory <p>段落</p>タグの内容を印刷します 終了するか、別のページを要求します 詳細: 単純なHTTPリクエストは次のようになります。 GET {{path}} HTTP/1.1 Host: {{host}} Connection: close \n\n 改行の強調。 典型的な応答は次のようになります。 HTTP/1.1 200 OK\n <some headers separated by newlines> \n\n <html> ....rest of page ルール: ポート80でのみ動作する必要があります(SSLは不要です) netcatは使用できません どのプログラミング言語が使用されていても、低レベルのTCP APIのみが許可されます(netcatを除く) GUIを使用することはできません。CLIであることに注意してください 組み込みのものを除き、HTMLパーサーは使用できません(BeautifulSoupは組み込みではありません) ボーナス!!プログラムがループバックし、終了する代わりに別のURLを要求する場合、-40文字(再帰を使用しない限り) サードパーティのプログラムはありません。何もインストールできないことを忘れないでください。 code-golfなので、最短バイト数が勝ちます

30
ハッピーバースデーV!
この挑戦で私を助けてくれた @KritixiLithosに感謝します! Vは、コードゴルフの課題でvimを使用および拡張できるように作成したプログラミング言語です。最初のコミットは2016年3月3日でした。つまり、今日Vは1歳になります。ウーフー 存在のVの最初の一年間、四つの異なる貢献者から176回のコミットがあった12人の異なるユーザからの140件の回答、およびカウントする、あまりにも多くの壊れた重複事業者。@Dennisがgeneしみなくホストしているオンライン通訳があり、12月以来ほぼ8,000回実行されています。 Vの誕生日を祝うために挑戦しましょう!Vのほとんどの機能は文字列操作とアスキーアートを念頭に置いて設計されているため、Vを祝うための課題はアスキーアートに関するものであることが当然のように思えます。したがって、今日の課題は、単語を入力として受け取り、その単語をV字の形に変更することです。たとえば、入力 "Hello"は次のVを与える必要があります。 Hello olleH Hello olleH Hello olleH Hello olleH Hello olleH HellolleH HellleH HeleH HeH H Vがどのように見えるかについての詳細を次に示します。入力文字列の長さがn文字の場合、V n*2は行の高さでなければなりません。最初の行は次のもので構成されている必要があります。 <input string><(n*2) - 1 spaces><input string reversed> 新しい行ごとに、先頭にスペースが1つ追加され、文字列の両側が互いに向かって移動し、重複する文字が削除されます。入力の最初の文字である最後の行まで。各行の末尾の空白は許容され、末尾の改行も許可されます。 入力は常に空白を含まない印刷可能なASCIIであると想定でき、任意の妥当な方法で入力および出力を取得できます。いくつかのサンプル入力を次に示します。 Happy: Happy yppaH Happy yppaH Happy yppaH Happy yppaH Happy yppaH HappyppaH HapppaH HapaH HaH H Birthday: Birthday …

30
各母音を使用せずにアルファベットを印刷する
インスピレーション:1939年、アーネストヴィンセントライトという名前の男が「e」という文字を使わずにギャズビーという小説を書きました。 あなたの仕事は、アルファベットの26文字すべてを順番に出力するために、(5つまでの)プログラムのセットを任意の言語(テキストベースのシンタックス*)で書くことです。ただし、各母音aeiouについては、少なくとも1つのプログラムに母音の出現を含めてはなりません。 だからあるに違いない プログラムの構文のどこでも「a」または「A」を使用しないプログラム。 プログラムの構文のどこでも' e 'または ' E 'を使用しないプログラム。 プログラムの構文のどこでも「i」または「I」を使用しないプログラム。 プログラムの構文のどこでも' o 'または ' O 'を使用しないプログラム。 プログラムの構文のどこでも「u」または「U」を使用しないプログラム。 それらはすべて出力する必要がありますabcdefghijklmnopqrstuvwxyz。 勝者は、すべてのプログラムの長さが最短のソリューションとなります。 *制約は、PietまたはWhitespaceでの課題ではないため 現在のランキング(2014年3月6日): PL:11 Bの灰:31 B efunge:26 Bウルレスク:12 Bレインファック:38 C:84 C番号:278/149 Cジャム:6 Cジュール:81 Dの C:18 E lang escript:75 F#:96 Fの俳優:264 Fの ission:21 Fのオース:46 G olfscript:8 Hアスケル(通訳):12 H TML:50 J:17 J ava:137 …

30
私は失礼な番号ですか?
しばらくの間、指で数えるときに問題に直面していました。具体的には、数が10にしかならないということです。この問題に対する私の解決策は、指を2進数で数えることです。1つは親指、2つは人差し指、3つは親指と人差し指の両方などです。しかし、ナンバー4。具体的には、中指を立てる必要がありますが、これはかなり残念なジェスチャーになりますが、これは通常社会では受け入れられません。このタイプの数は失礼な数です。36で次の失礼な数字になります。2番目の手の親指と1番目の手の中指を上げます。失礼な数の定義は、このカウントのシステムの下で、私たちだけが我慢するような数です任意の手の中指。1023(1人で到達可能な最大数、それぞれ5本の指の2本の手)を超えると、必要に応じて追加の手が追加された3番目の手で続行すると仮定します。 あなたのタスク: 入力を受け取り、その入力が失礼な数であるかどうかに基づいて真実/偽の値を出力するプログラムまたは関数を作成します。 入力: 0〜10 9の整数(両端を含む)。 出力: 入力が失礼な数字であるかどうかを示す真実/偽の値。 テストケース: Input: Output: 0 ---> falsy 3 ---> falsy 4 ---> truthy 25 ---> falsy 36 ---> truthy 127 ---> falsy 131 ---> truthy 得点: これはcode-golfであるため、バイト単位の最低スコアが優先されます。

30
「99本のビール」
可能な限り少ないバイトで、99本のビールのボトルに歌詞を出力するプログラムを作成します。 歌詞: 99 bottles of beer on the wall, 99 bottles of beer. Take one down and pass it around, 98 bottles of beer on the wall. 98 bottles of beer on the wall, 98 bottles of beer. Take one down and pass it around, 97 bottles of beer on …

30
文字列(または数字)が添付されていません
これが気に入ったら、以下に参加することを検討してください。 公式Dyalog APL 2016年ゲーム 毎月のDyalog APL 2017 Code Golf Challenge 同じ言語で12個のスニペット/式を作成します。その結果、それぞれ数値0〜10、および42になりますが、リテラルの数値、文字列、または文字データは書き込まれません。 同様に、データにビルドPI()とALPHABET()、罰金であるので、例えばCJamのU、X、Y、Zであり、定数、および処理のBLEND、CHORD、CENTER、BREAK、およびLINES。 すべてのスニペットは独立している必要があります。つまり、相互に依存しない場合があります。ただし、単一のスニペット内では、名前を含む文字列ではなく名前で直接参照する限り、変数を割り当てて自由に使用できます。 すべてのスニペットは、提出時に提出者のコンピューターで有効である必要があります(SEによって報告されます)が、ディレクトリ内のファイル数、正確な日付または時刻、またはユーザーからの特定の入力などの異常なローカル条件に依存しない場合があります。 有効なスニペットの例 3:INT(LOG10(YEAR(TODAY()))) それは予見可能な将来において真であるので、 4:CUBICROOT(LEN(CHARACTERSET())) 256文字の文字セットは非常に一般的ですので、 8:SQRT(SYSTEMTYPE()) 64ビットシステムでは非常に一般的であるため、 無効なスニペットの例 5:LEN(USERNAME()) ほとんどの人がログインとして「管理者」を使用しないため:-) 9:LOG10(SYSTEMMEMORY()) メモリがちょうど1 GBのシステムでのみ動作する ため 42:CODE("*")文字列/文字リテラルを含むため 各スニペットの結果は、スニペットと同じ言語を使用した追加の計算に使用できる実際の数値(値、整数、浮動小数点数など)になる必要があります。つまり、その数値を表すテキスト文字列ではありません。 文字ベースの言語のみが許可されます。 スコアは、合計した12個のスニペットの合計バイト数です。スニペットを区切る改行はカウントされません。 上記の規則は、チューリング完全であっても、一部の言語が参加できない場合があることに注意してください。 よくある質問 Qプログラムは入力を受け付けることができますか? Aはい。ただし、単に入力を求めて関連する番号を入力することはできません。 Q物理的な数字(非データ)の数字は許可されていますか? AはいLOG10()。 Q Rubyのシンボルはリテラルとしてカウントされますか?はい。 Qスコアには各スニペット間の改行が含まれますか?いいえ。 Q TI-BASICは「文字ベース」で十分に有効ですか?はい。 Q falseとtrueは数値リテラルとしてカウントされますか? Aいいえ、受け入れられます。 Qそれが唯一の方法であり、数値が関数の出力に影響しない場合、数値リテラルを使用して関数を呼び出すことはできますか? Aはい、それがあなたの言語でコードを記述する通常の方法である場合。 Q私の言語では、各プログラム/式の先頭に[何か]があると想定しています。それを含める必要がありますか、またはスニペットをプログラム/式の途中に配置するだけで機能する必要がありますか? Aプログラム/式の途中で動作する必要があります。 …

30
永遠にカウントアップ
1から開始して、永久にカウントアップするプログラムを作成します。 ルール: 使用できないSTDOUT場合、プログラムはログインするか、受け入れ可能な代替手段にする必要STDOUTがあります。 プログラムは、関数やスニペットではなく、完全で実行可能なプログラムでなければなりません。 プログラムは、間に区切り文字(改行、スペース、タブ、またはコンマ)を付けて各数値を出力する必要がありますが、これはすべての数値で一貫している必要があります。 数値を10進数、単項、または各数値がバイト値で表される基数256で印刷できます。 プログラムは、問題なく、妥当なデスクトップPCでメモリ不足になることなく、少なくとも2 128(包括的)までカウントする必要があります。特に、これは、単項を使用している場合、現在の数値の単項表現をメモリに保存できないことを意味します。 通常のルールとは異なり、このチャレンジよりも新しい言語(または言語バージョン)を自由に使用できます。この課題に対する0バイトの回答を提出するために特別に作成された言語は、公正なゲームですが、特に興味深いものではありません。 提出物をテストできるようにインタープリターが必要であることに注意してください。以前に未実装の言語用にこのインタープリターを自分で作成することは許可されています(推奨されます)。 これは、これに対する最短の解決策で言語を見つけることではありません(空のプログラムがトリックを行う場所があります)-これは、すべての言語で最短の解決策を見つけることです。したがって、回答は承認済みとしてマークされません。 カタログ この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## 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 コードスニペットを表示 <style>body { text-align: left !important} #answer-list { …

11
llhuiiはどのようにして42バイトのPythonで悪の数を出力しましたか?
これは、Anarchy GolfのEvil Numbersの質問に関するPythonでのゴルフのヒントの質問です。 バイナリ展開が1の偶数を持っている場合、数字は悪です。課題は、最初の400の悪の数字0,3,5,...,795,797,798を1行に1つずつ印刷することです。 Python 2の提出は、42バイトのソリューションを備えたllhuiiが主導しています。次に最適なのは、ミッチごとに46バイトで、その後に47バイトの送信が5回続きます。llhuiiは、2年以上にわたり多くの強力なPythonゴルファーを避けてきた本当に魔法のような何かを見つけたようです。このような短いゴルフでは、4バイトまたは5バイトを節約するのは非常に大きなことです。 私はまだ47バイトです。コミュニティとしてこのパズルを解くことを望んでいます。共同で回答が得られたら、貢献したすべての人の名前で提出します。この質問に対する答えは、コードの一部、新しいアイデア、または分析の一部です。llhuiiの場合は、まだ私たちのためにそれを台無しにしないでください。 この問題は無限であるため、提出は明らかにされていませんが、いくつかのリードが与えられています。受賞作品の実行には0.1699秒かかり、他のどの方法よりもはるかに長く、非効率的な方法を示唆しています。バイト統計から、42文字のうち、23は英数字で[0-9A-Za-z]、19はASCIIシンボルです。これは、llhuiiのソリューションに空白がないことを意味します。 問題のページでコードをテストし、言語ドロップダウンからPythonを選択するか、.pyファイルをアップロードできます。ご了承ください: Python 2.7が使用されます コードは印刷する完全なプログラムでなければなりません kolmogorov-complexityのような、この問題に対する入力はありません プログラムは、より大きな値で中断する場合でも、指定された400個の値を出力するだけです。 プログラムの実行には2秒かかります プログラムがエラーで終了する場合があります 次を使用できますexec。「execが拒否されました」はシェルexecを指します

17
2つのミラー間の2つのレーザー
2つの平行なミラーで構成される廊下がある場合はどうなりますか? | | | | | | | | | | | | | | | | | | | | 今、私たちはそれをレーザーで照らします... | \ | | \ | | \ | | \ | | \ | | \ | | \ | | \| | /| | / | …

30
じゃんけんのスコア
「Rock」、「Paper」、または「Scissors」の2つの文字列入力を指定して、RPSラウンドの結果を決定します。最初のプレイヤーが勝った場合は1、2番目のプレイヤーが勝った場合は-1、同点の場合は0を出力します。 Rock Rock -> 0 Rock Paper -> -1 Rock Scissors -> 1 Paper Rock -> 1 Paper Paper -> 0 Paper Scissors -> -1 Scissors Rock -> -1 Scissors Paper -> 1 Scissors Scissors -> 0 入力として正確な文字列「Rock」、「Paper」、および「Scissors」を使用する必要があります。最初のプレイヤーの選択が(一貫して)最初に与えられるか2番目に与えられるかを選択できます。または、単一文字または空の区切り文字を使用して、単一の入力として受け取ることもできます。入力は、入力形式の3つの選択肢の9つの可能な組み合わせのいずれかであることが保証されています。 出力は、数値1、0、または-1、またはそのストリング表現でなければなりません。フロートは大丈夫です。そうです+1、+0,そして-0。 関連:RPSゲームのコーディング リーダーボード: コードスニペットを表示 var QUESTION_ID=106496,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/106496/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 …
70 code-golf  game 

30
入力∩ソースコード
イントロ 課題は、独自のソースコードと特定の文字列入力の共通部分を出力するプログラム/関数を作成することです。これはコードゴルフであり、より正確には: LetをI入力セットにします {"a","b","c"} LetをSソースコードセットにします {"b","f"} そして、交差点は彼らが共有するものです I ∩ S = {"b"} 入力 入力は柔軟です。ソースコードに使用される文字エンコードを処理できる必要があります。 出力 出力は柔軟です。入力コードとソースコードが共有する文字のセットである必要があります。また、セットは、個別のオブジェクトの順不同のコレクションです。要約すれば: 出力は柔軟です: 任意のデータ構造(文字列またはそれ以外) 順不同でした 末尾があります \n 明確にする必要があります 制限 馬鹿げた挑戦と同様に、プログラム/関数は独自のソースコードを読み取れない可能性があり、0バイトのソリューションは許可されません。 例 #1 functor x(I){ return I ∩ self; } Inputs Outputs ------ ------- enter preformatted text here -> {"e","n","t","r","f","o","x"} ["Albrt"," Einstin"] -> {"l","r","t","n","s"} #2 (_)->_&"(_)->&\"\\" Inputs …
70 code-golf  quine 

23
まあそれは奇妙なことです...待てない、それは偶数です!
前文 整数は常に偶数または奇数です。偶数の整数は2で割り切れ、奇数の整数は割り切れません。 2つの整数を追加すると、被加数が偶数か奇数かに基づいて、結果が偶数か奇数かを推測できます。 偶数+偶数=偶数 偶数+奇数=奇数 奇数+偶数=奇数 奇数+奇数=偶数 同様に、2つの整数を乗算すると、因子が偶数か奇数かに基づいて、結果が偶数か奇数かを推測できます。 偶数*偶数=偶数 偶数*奇数=偶数 奇数*偶数=偶数 奇数*奇数=奇数 したがって、加算と乗算のみが関係する数式のすべての変数の偶数または奇数がわかっている場合、結果が偶数か奇数かを推測できます。 たとえば(68 + 99) * 37、偶数と奇数(68 + 99)が奇数であり、奇数と別の奇数(odd * 37)が奇数を与えるため、自信を持って奇数になると言うことができます。 チャレンジ 唯一の4つの文字を含む文字列を取り込みプログラムや関数を書きますeo+*。この文字列は、加算()と乗算()のみを含むプレフィックス表記で指定された数式を表します。それぞれが任意の偶数を表し、それぞれが任意の奇数を表します。+*eo あなたの仕事は表現、印刷または単一の復帰簡素化することであるeか、o式の結果が偶数か奇数かに基づいています。 入力は常に有効なプレフィックス表記であると想定できます。具体的には、それぞれ+との*後に、常に2つの対応するオペランドがあります。これらのオペランドは、単一のeor o、またはオペランドを持つ別の+or *式です。 たとえば、入力*+eooはとしてmul(add(e, o), o)、または(e + o) * o通常の挿入記法で読み取ることができます。e第一oに対応するオペランドであり+、そして+eo、最後には、o対応するオペランドです*。 明確にするために、間違ったプレフィックス表記を持ついくつかの無効な入力を次に示します。 eo ooe o+e ee* +*oe +e*o 出力の単一の末尾の改行は問題ありませんが、そうでなければ、e偶数またはo奇数のプレーンのみが出力されるはずです。 バイト単位の最短コードが優先されます。 テストケース (空の行は、同様のケースを視覚的に区別するためだけのものです。) e -> e o …

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