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

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

27
雪だるまをコーディングしますか?
これは簡単なASCIIアート雪だるまです: _===_ (.,.) ( : ) ( : ) 彼に友達を作りましょう。これは、ASCIIアートsnowpeopleの一般的なパターンです。 HHHHH HHHHH X(LNR)Y X(TTT)Y (BBB) 先頭のスペースと括弧は、すべての雪だるまで常に同じです。異なる文字は、個別に変更できるパターンのセクションを表します。各セクションには、ASCII文字で埋めることができる正確な4つのプリセットがあります。8つのセクションすべてでこれらのプリセットを組み合わせて一致させることで、さまざまな雪の人を作ることができます。 すべてのプリセット (スペースが他の空の行に置かれているため、セクションの形状は常に正しいことに注意してください。) Hは帽子 麦わら帽子 _===_ メキシカンハット ___ ..... フェズ _ /_\ ロシアの帽子 ___ (_*_) Nは鼻/口用 普通 , ドット . ライン _ 無し Lは左目用 ドット . 大きいドット o 最大のドット O 閉まっている - Rは右目用 (左目と同じリスト。) Xは左腕用 …

30
数学は事実です。プログラミングは
数学では、感嘆符は!しばしば階乗を意味し、議論の後に来ます。 プログラミングでは、感嘆符は!しばしば否定を意味し、それは議論の前に来ます。 この課題では、これらの操作をゼロと1にのみ適用します。 Factorial 0! = 1 1! = 1 Negation !0 = 1 !1 = 0 ゼロ個以上の文字列を取る!「が続いS、0または1ゼロ個以上続く、!S」を(/!*[01]!*/)。 たとえば、入力は!!!0!!!!or !!!1または!0!!or 0!または1です。 or !の前の' は否定で、'の後は階乗です。01! 階乗は否定よりも優先順位が高いため、階乗が常に最初に適用されます。 例えば、!!!0!!!!真の意味!!!(0!!!!)、あるいはいっそ!(!(!((((0!)!)!)!)))。 すべての階乗と否定の結果のアプリケーションを出力します。出力は常に0またはになり1ます。 テストケース 0 -> 0 1 -> 1 0! -> 1 1! -> 1 !0 -> 1 !1 -> 0 !0! -> 0 !1! …

30
トリックオアトリートポリグロット
ハロウィーンが近づいているので、私は楽しい小さなコードのゴルフチャレンジを始めるかもしれないと思いました! 課題は非常に簡単です。trickまたはを出力するプログラムを作成する必要がありtreatます。 「ひねり?」あなたが尋ねることができます。よく説明させてください: あなたのプログラムは次のことをしなければなりません: 2つの異なる言語でコンパイル/実行可能。同じ言語の異なるバージョンはカウントされません。 1つの言語でプログラムを実行するtrickと、出力され、もう1つの言語で出力されますtreat。大文字と小文字は区別されず、文字列に空白文字を埋め込むことは許可されています(例を参照)。 これはcode-golfであるため、バイト数が最も少ないソリューションが優先されます。 いくつかの説明: 有効な出力(2つの言語でコードを実行するためではなく、出力の開始または終了を示す引用符を追加します。これらをソリューションに含めないでください!): "trick" "Treat" " TReAt" " tRICk " 無効な出力: "tri ck" "tr eat" "trck" 私はあなたが思い付くことができるものを見て興味があります!ハッピーゴルフ! これが私の最初の挑戦であることに注意したいので、この質問に関する提案があればコメントの形で残してください。 リーダーボード これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 # Perl, 43 + 2 (-p flag) = 45 bytes …

30
「グーグル」をグーグルしないでください
「グーグル」という言葉をグーグルで検索すると、インターネットが切断されることは周知の事実です。 あなたの仕事は、1つの文字列を受け入れ、その長さを可能な限り少ないUnicode文字で返す関数を作成することです。 ただし、指定された文字列がgoogle(小文字)の場合、エラーが発生します。 たとえば、g('bing')返されます4が、g('google')エラーが発生します。 使用例と、可能であればエラーを提供してください。
158 code-golf  string 

16
私のスワイプパターンは合法ですか?
ほとんどのAndroidスマートフォンでは、ユーザーはスワイプパターンを使用してスマートフォンを開くことができます。 特定のパターンは正当であり、他のパターンは不可能です。入力スワイプパターンが与えられると、与えられた入力パターンが正当かどうかを示す真実または偽を返します。 入力 グリッドには、行ごとに1〜9のラベルが付けられます。 1 2 3 4 5 6 7 8 9 入力は、最初から最後にアクセスしたノードで構成される数です。たとえば、上記のスワイプパターンは12357です。 入力は、10進数、文字列、または数字のリストにすることができます。ノード0がないため、0は含まれません。 修正:多くの言語が0からインデックスを作成するため、0-8のインデックス作成が許可されます。0-8を使用する場合は、回答の冒頭にその旨を示し、テストケースを適宜調整する必要があります。 ルール すべてのノードは最初は未訪問として開始され、一度だけアクセスできます。ノードに複数回アクセスするパターンは偽物です。 真実のパターンには少なくとも1つのスワイプが含まれている必要があるため、少なくとも2つのノードが必要です。 訪問されていないノードを別のノードに沿って直接スキップすることはできません。たとえば、2は未訪問で直接並んでいるため、13は偽です。 訪問したノードのみをスキップできます。42631はこの例です。 そうしないと、線が交差する場合があります。たとえば、1524は真実です。 ノード幅は重要ではなく、実際の問題(指の太さなど)を無視します。そのため、実際には達成するのが少し難しいかもしれませんが、16は真実です。 テストケース 1 -> false 12 -> true 13 -> false 16 -> true 31 -> false 33 -> false 137 -> false 582 -> true 519 -> …

4
ハイパープログラミング:N + N、N×N、N ^ Nをすべて1つに
1から9までの数Nを取り込むプログラムを作成します。そのネイティブで出力すべきN + NEG出力プログラムを形成する2Nであれば1、4Nの場合2、6Nであれば3、というように。 あなたのプログラム内のすべての文字が所定の位置に複製された場合、それは(1から9までまだ)Nを取り込みプログラムと出力N×NEG出力する必要があります1Nである場合は1、4Nである場合は2、9Nであれば3、というように。 あなたのプログラム内のすべての文字が所定の位置に三重されている場合、それは(まだ1から9まで)Nを取り込んでプログラムする必要がありますし、出力N ^ NEG出力1Nがある場合1、4Nである場合は2、27Nである場合は3、387420489Nである場合は9、等 10 ^ 10は多くの言語の通常の整数範囲外であるため、9を超える数値は必要ありません。 例 初期プログラムが My_Program! Exit(); 次に、Nを取り込み、N + Nを出力できる必要があります。 さらに、プログラム MMyy__PPrrooggrraamm!! EExxiitt(());; Nを取り込み、N×Nを出力する必要があります。 最後に、プログラム MMMyyy___PPPrrrooogggrrraaammm!!! EEExxxiiittt((()));;; Nを取り込んでN ^ Nを出力します。 4倍文字以上のプログラムは必要ありません。 ルール 入力および出力は、通常のフォーマットされた10進数である必要があります。コードを見せるために別のベースを使用して回答することもできますが、その場合、回答は非競争的です。 Windowsユーザーは\r\n1つの文字として扱う\r\r\n\nかもしれません。なぜなら、そのようなものは意味をなさないか、おそらくは機能しないからです。 最短のネイティブプログラム(N + Nの1つ)がバイト単位で勝ちます。

30
真理機を実装する
真実マシンは、(クレジットに行くこの男、それを考え出すために)言語のI / Oおよび制御フローを示すために設計された非常に単純なプログラムです。真理値マシンの機能は次のとおりです。 STDINから数値(0または1)を取得します。 その数が0の場合、0を出力して終了します。 その数が1の場合、1を永久に出力します。 チャレンジ 上記のように、選択した言語で真理マシンを記述します。真理値マシンは、これらのルールに従う完全なプログラムでなければなりません。 STDINまたは許容可能な代替から入力を取得します 言語がSTDINから入力を取得できない場合、ハードコードされた変数またはプログラム内の適切な同等物から入力を取得できます。 STDOUTまたは許容可能な代替に出力する必要があります ご使用の言語が文字を出力できない場合、0または1バイトまたは単項I / Oは受け入れ可能です。 入力がの場合、1継続的に1sを出力し、プログラムが強制終了またはメモリ不足になった場合にのみ停止する必要があります 出力のみをしなければならないのいずれか0一方又は無改行やスペース、または無限に続く1それぞれとの1一つまたは無改行またはスペースのいずれかが続きます。抑制できない言語のインタープリターの一定の出力(挨拶、ANSIカラーコード、インデントなど)を除き、他の出力は生成できません。改行またはスペースの使用方法は一貫している必要があります。たとえば、1すべて1のsの後に改行が必要な後に改行を使用して出力することを選択した場合などです。 あなたの言語がその入力で終了できない可能性がある場合にのみ0、コードが何も出力されない無限ループに入ることが許容されます。 これはカタログであるため、このチャレンジの後に作成された言語は競合できます。提出物をテストできるようにインタープリターが必要であることに注意してください。以前に未実装の言語用にこのインタープリターを自分で作成することは許可されています(推奨されます)。それ以外は、コードゴルフのすべての標準ルールに従わなければなりません。ほとんどの言語での提出物は、適切な既存のエンコーディング(通常はUTF-8)でバイト単位で記録されます。 カタログ この投稿の下部にあるスタックスニペットは、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 コードスニペットを表示 …
148 code-golf 

30
1、2、フィズ、4、バズ
前書き 標準プログラミング演習用の最短ソリューションのカタログを収集するための最近の取り組みで、PPCGの最初のバニラFizzBu​​zzチャレンジがここにあります。他のカタログの課題を見たい場合は、「Hello World!」があります。そして「この数は素数であります?」。 チャレンジ 1から100までの10進数を出力するプログラムを作成します。しかし、3の倍数の場合は数字ではなく「フィズ」、5の倍数の場合は「バズ」が印刷されます。3と5の両方の倍数である数字の場合、「FizzBu​​zz」と印刷します。 出力 出力は、改行(\nまたは\r\n)で区切られた数字(およびFizzes、Buzzes、FizzBu​​zzes)のリストになります。末尾の改行は使用できますが、先頭の改行は使用できません。改行の選択とは別に、出力は次のようになります。 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 …

25
合法的にスラックオフするための最短コード
私は開発者であり、自分の仕事をする気はありません。私はXKCDから、あなたのコードがコンパイルされていることを怠ることの最良の言い訳であることを知っています。このため、永久にコンパイルできるコードが必要だと思います!そして、私は怠け者であり、あまり入力する必要がないので、これは可能な限り短いコードで行わなければなりません。 したがって、あなたのタスクは、構文的には有効であるが、コンパイラーが無限ループに入るプログラムを作成することです。 仕様書 もちろん、コンパイラーを備えた言語を使用する必要があります。 各ソリューションで使用される実装を指定します。 これはcode-golfであるため、最短の有効なソリューション(バイト単位)が優先されます。 コンパイラは、メモリまたはスタック領域が不足することで終了する場合があります。

1
「ノット」または「ノット」?
もつれた文字列のASCIIアート表現を処理し、それを単純なループに解くことができるかどうかを決定するプログラムを作成します。もつれは、文字-を使用し|て表され、水平および垂直セグメント+を表し、角を表します。文字列がそれ自体を通過する場所は、次のように表されます。 | | ------- ---|--- | | (Horizontal segment on top) (Vertical segment on top) ストリングの両端は互いに接続されています。ゆるい終わりはありません。 プログラムが文字列を単純なループに解くことができないと判断した場合、wordを出力する必要がありますKNOT。それ以外の場合は、wordを出力する必要がありますNOT。 これはコードとゴルフの挑戦なので、最短の有効な回答(ソースコードのバイト数で測定)が勝ちます。 制限 ASCII入力は、最大25行の80文字で構成されます。すべての行に同じ長さのスペースが埋め込まれていると想定できます。 例 入力: +-------+ +-------+ | | | | | +---|----+ +-------+ | | | | | | +-------|------------|---+ | | | | +---+ +---+ 出力: KNOT 入力: +----------+ | | …

30
ソースコードを解読する
注:この課題は、現在、新しい警官の提出に限定されています。これは、チャレンジに興味のある強盗がもういないため、クラックされないままの投稿を誰も投稿できないようにするためです。 この警官と強盗のゲームでは、各警官は単一の出力を与える簡単なプログラムを作成します。その後、プログラムについて4つのことを公開します。 言語 プログラムの長さ 希望する出力 ソースコードのスクランブルアップバージョン その後、強盗はソースコードを解読して、プログラムが元のように機能するようにする必要があります。 警官のルール 強盗が再作成しようとする単純なプログラムを作成する必要があります。 元のプログラムには単純な機能が必要です。実行時に、単一の文字列/数字を出力して停止します。いつ/どこで実行されても同じ出力が得られ、追加のライブラリやインターネットに依存するべきではありません。 プログラムと出力には、印刷可能なASCII(改行とスペースが使用可能)を使用する必要があります。出力の長さは100文字を超えてはならず、プログラムは適切なマシンで実行するのに約5秒未満かかります。また、プログラムでハッシュ(または他の暗号化機能)を使用することもできません。 次に、ソースコードのスクランブルバージョンと必要な出力を提供します。文字が保存されている限り、好きなようにソースコードをスクランブルできます。 あなたのスコアは、クラックされていないあなたが提出した最短のプログラムです。1週間後、クラックのない提出物は無効になります。この免除を主張するには、答えを編集して正しい答えを表示する必要があります。(明確化:あなたが答えを明らかにするまで、あなたは免疫がなく、まだクラックされる可能性があります。)最低スコアが勝ちます。 警官の簡単な回答例 Perl、20 ellir"lnto Wo d";prH Hello World または... Perl、15 *3i)xp3rn3*x3t( 272727 強盗ルール 強盗は、ここにある別のスレッドに回答としてクラッキングの試みを投稿します。 各提出物をクラックする試みが1回あります。クラッキングの試みは、ソースコードのスクランブルされていないバージョンになります。推測が説明(同じ文字、出力、そしてもちろん言語)と一致し、あなたが最初の正しい推測である場合、あなたはポイントを獲得します。プログラムがオリジナルと完全に一致する必要はなく、単に同じ文字を使用し、同じ機能を持っていることに注意することが重要です。これは、複数の正解がある可能性があることを意味します。 最も多くのポイント(成功したクラック)を持つ強盗が勝ちます。 簡単な強盗回答の例 あなたのプログラムはでしたprint "Hello World";。(ただし、機能print"Hello World" ;する場合もあります。) あなたのプログラムは print(3**3x3)x3 安全な提出 ASP / ASP.Net、14(ジェイミーバーカー) Befunge-98、15(FireFly) GolfScript、16(ピーターテイラー) CJam、19(DLosc) GolfScript、20(user23013) Perl、21(primo) Python、23(mbomb007) ルビー、27(歴史家) SAS、28(ConMan) ルビー、29(歴史家) Python、30(mbomb007) …

30
Cでのゴルフのヒント
Cでゴルフをするための一般的なヒントは何ですか?私は、少なくともCに特有のゴルフ問題全般のコーディングに適用できるアイデアを探しています(たとえば、「コメントの削除」は答えではありません)。回答ごとに1つのヒントを投稿してください。また、ヒントがC89および/またはC99に適用される場合、および特定のコンパイラでのみ機能する場合も含めてください。
137 code-golf  tips  c 

27
Google Overlordをなだめる:「G」ロゴを描く
正の整数Nを取り込んで、この*構成に従ってGoogleの「G」ロゴのN×Nピクセルの画像を出力するプログラムまたは関数を作成します。 たとえば、Nが400の場合、正しいサイズと色で400×400ピクセルのロゴを出力する必要があります。 Nの大きさに関係なく、正確に見えるはずです。たとえば、N = 13です。 コードをインターネットに接続する必要はありません。たとえば、外部でホストされているsvgのスケーリングは許可されていません。(ただし、コードでエンコードされたsvgのスケーリングは問題ありません。) アンチエイリアシングが使用される場合とされない場合があります。それはあなた次第です。 「G」の水平バーが画像の右端まで完全に伸びていないことに注意してください。円は、通常、切断される前に右端で内側に湾曲します。 バイト単位の最短コードが優先されます。 *ロゴの作成は、この課題のために簡素化されています。正しい構造はこことここで見ることができます。

30
最短エラーメッセージ
チャレンジ コンパイルまたは実行すると、プログラム自体よりも致命的なエラーメッセージが生成される最短のプログラムを作成します。エラーメッセージは、Pythonなどのプログラム自体によって生成されない場合がありますraise。有効な回答には、コードとエラーメッセージの両方を含める必要があります。最短有効回答が勝ちます。 エラーメッセージはエラーメッセージとしてカウントされません。 例(Lua) コード(46バイト): [ --aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa エラー(45バイト): [string "[..."]:1: unexpected symbol near '['

30
JavaScriptでのゴルフのヒント
JavaScriptでゴルフをするための一般的なヒントは何ですか?私は、少なくともある程度JavaScriptに固有のゴルフ問題全般のコーディングに適用できるアイデアを探しています(たとえば、「コメントの削除」は答えではありません)。 注:ECMAScript 6以降のゴルフのヒントも参照してください

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