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

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

5
湖を埋める、2D
この問題の1次元バージョンは非常に簡単だったので、ここではより難しい2Dバージョンです。 標準入力で土地の高さの2D配列が与えられ、雨が降ると湖が形成される場所を把握する必要があります。高さマップは、0から9までの数字の単なる長方形の配列です。 8888888888 5664303498 6485322898 5675373666 7875555787 同じ配列を出力し、水中にあるすべての場所をに置き換える必要があります*。 8888888888 566*****98 6*85***898 5675*7*666 7875555787 水は斜めに逃げることができるため、この構成では湖はありません。 888 838 388 最短のコードが勝ちます。コードは、最大幅80、高さ24までのサイズを処理する必要があります。 さらに3つの例: 77777 77777 75657 7*6*7 75757 => 7*7*7 77677 77677 77477 77477 599999 599999 933339 9****9 936639 => 9*66*9 935539 9*55*9 932109 9****9 999999 999999 88888888 88888888 84482288 8**8**88 84452233 => 8**5**33 …

30
自分自身を削除するプログラム
コンパイルされた言語を使用する場合、プログラムはコンパイルされた実行可能ファイルを削除する必要があります(ただし、ソースファイルを削除する必要はありません)。インタープリター言語を使用する場合、プログラムはソースファイルを削除する必要があります。 開始単価: Python(29文字) import os;os.remove(__file__) 編集:rm -rf /などの解決策を防ぐために、プログラムは実行可能ファイルまたはソースファイル以外を削除しないでください。 html,body{margin:0;padding:0;height:100%;overflow:hidden} <iframe src="https://xmikee1.github.io/ppcg-leaderboard/?id=19355" width="100%" height="100%" style="border:none;">Oops, your browser is too old to view this content! Please upgrade to a newer version of your browser that supports HTML5.</iframe> コードスニペットを実行する結果を非表示スニペットを展開

9
ポーカーの手に名前を付ける
ポーカーの手に名前を付ける 5枚のカードが与えられたら、ポーカーハンドの名前を出力します。 High card One pair Two pair Three of a kind Straight Flush Full house Four of a kind Straight flush Royal Flush 疑わしい場合は、http://en.wikipedia.org/wiki/List_of_poker_handsのルールを参照してください。 入力 stdinまたはコマンドライン引数からの5 枚のカード。カードは、フォーム上の2文字の文字列で、RSRはランクで、Sはスーツです。ランクはある2- 9(番号カード)、T(10)、 J(ジャック)、(Q女王)、 K(王)、 A(エース)。スーツがありS、D、H、Cそれぞれスペード、ダイヤ、ハート、クラブのために。 カードの例 5H - five of hearts TS - ten of spades AD - ace of diamonds 入力の例=>望ましい出力 3H …
22 code-golf  game 

7
リバースエンジニアポーリング統計
前書き 投票の選択肢の割合のセットが与えられたら、それらの統計を生成するために投票に含まれる必要がある有権者の最小数を計算します。 例:お気に入りのペットは何ですか? 犬: 44.4% ネコ: 44.4% マウス: 11.1% 出力:(9投票者の可能な最小数) スペック プログラム/機能の要件は次のとおりです。 入力としてパーセンテージ値の配列が与えられます(標準入力、関数の引数など)。 各パーセント値は、小数点以下1桁に丸められた数値です(たとえば、 44.4 44.4 11.1。 (stdoutまたは関数の戻り値で)小数点以下1桁に丸めた場合、その結果が正確なパーセンテージになる投票の投票者の最小数を計算します。 ボーナス:「自明ではない」方法で解決できる場合は-15文字(つまり、有効な最初の有権者が見つかるまで、可能な限りすべての有権者を反復処理する必要はありません) 例 >./pollreverse 44.4 44.4 11.1 9 >./pollreverse 26.7 53.3 20.0 15 >./pollreverse 48.4 13.7 21.6 6.5 9.8 153 >./pollreverse 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 99.6 2000 >./pollreverse …

11
piの適切な合理的近似
分母の順序が小さい順に、分母<1000000のpiのすべての適切な合理的近似を出力するプログラムを作成します。 a/bは、分母がを超えない他の有理数よりもpiに近い場合、piの「適切な有理数近似」ですb。 出力には合計167行が含まれ、開始と終了は次のようになります。 3/1 13/4 16/5 19/6 22/7 179/57 ... 833719/265381 1146408/364913 3126535/995207 最短のプログラムが勝ちます。

4
ASCIIアニメーション雪景色
ASCIIアートのあらゆる部分を、雪が降ってから形成され始めるアニメーションの雪景色に変える最短のプログラムを作成します(ゴルフ以外のJavaScriptの例は、 2011-12-19に最終更新されました)。 入力仕様:プログラムは、スペース、アスタリスク、および改行の任意の組み合わせを受け入れる必要があります。入力には、最大23行と1行あたり80文字が含まれます。空行はありませんが、行は空白のみで構成されます。単一の末尾の改行が含まれるため、無視する必要があります。 出力:ユーザーが手動でプログラムを終了するまで、オペレーティングシステムのテキストコンソールまたはターミナルエミュレーターのASCII文字(スペース、アスタリスク)および制御コード(キャリッジリターン、ラインフィード、ANSIエスケープコードなど)を出力します。オペレーティングシステムがその設定を許可している場合、ターミナルウィンドウは80x24文字であると想定できます。 ルール: アニメーションは滑らかで高速でなければなりません(15 fpsを推奨)。 雪の密度は5〜15%でなければなりません。 1秒間にスクロールできる雪の画面は1つだけです。(つまり、1秒間に24行を超える新しい雪を追加できないことを意味します。) 雪は、画面の上部に入るときに明らかなパターンを表示してはなりません。ランダムに見える必要があります。 プログラムは、起動時に画面のすべての行をできるだけ早く雪で満たす必要があります。画面の個々の行の最初の塗りつぶしは、視聴者に明白であってはなりません。 入力ASCIIアートの左下隅は、画面の左下隅になければなりません(さらに明確にするために、図1)。 ASCIIアートの内側または下の領域は、恒久的にアスタリスクで埋めてはいけません。ただし、アスタリスクはこの領域をスクロールできます(必須ではありません)。 雪は、入力に示されている場合を除き、画面の下部または既存の雪の上に堆積してはなりません。 スペースを逆順にすると、クリスマスツリーのアニメーションが元のコードの出力と非常に異なって見えるため、下のスペースは上のスペースよりも先に埋める必要があります。(2011-12-20を追加) 楽しい休日を! 図1:80x24画面のラベル付きエリア ---------------------------New snow added on this line-------------------------- | | ----------------------------------------------------------+ | **** | | Snow MUST fall Snow MAY fall ----------------> **** | | through this through these **** **** | Snow MUST fall …

10
メタゴルフチャレンジ
その課題については、その課題を解決する必要があります。 コンテストは終了しました!質問の終わりを確認してください 仕様: 最小のコード(任意の言語*)を作成します。 回答のスコアは次の合計です。 空白なしのコード長。 同じ言語を使用した回答の数の2乗。 コンテストで最も大きい言語の名前からあなたの言語の長さを引いた長さ。 マイナス投票からマイナス投票(別名マイナス投票) ユーザーの位置とスコアを書きます。 各ユーザーが回答を1つだけ書くことができます。 最も低いスコアが勝ちます。 テスト: そのため、コンテストの終わりに、可能な入力は(STDIN)です。 列は次のとおりです。ユーザー名、言語、コード長(空白なし)、TotalVotes UserA Python 100 1 UserB Perl 30 2 UserC Java 500 3 UserD Brainfuck 499 4 UserE Perl 29 5 ユーザー名に「My User Name」のようなスペースがある場合、「MyUserName」になるため、入力には常に正確に4列あります。 出力は(STDOUT)になります。 1 UserE 33 2 UserB 37 3 UserA 103 4 UserD …

13
ラングトンのアリアスキーアート。
ラングトンのアリの道を描きます。 説明 平面上の正方形は、黒または白のさまざまな色で表示されます。1つの正方形を「アリ」として任意に識別します。アリは、各ステップで4つの基本方向のいずれかに移動できます。アリは以下のルールに従って移動します。 白い正方形で、90°右に曲がり、正方形の色を反転させて、1ユニット先に進みます 黒い四角で、左に90°回転し、四角の色を反転し、1単位先に進みます 仕様書 入力:0から725までの整数N(両端を含む)。 出力:ステップNの時点でのアリの「パス」を表す17 x 17のグリッド。 ルール アリは右向きになります(3時)。 アリはグリッドの中心から始まります。 利用_#@それぞれ白四角、黒四角及びアリのために。 グリッドは最初は完全に白です。 インタプリタ言語で完全なプログラムまたは関数を作成できます。 stdinまたは引数による入力。 例 更新:ケースのN = 450出力が間違っていました。 N = 0 _________________ _________________ _________________ _________________ _________________ _________________ _________________ _________________ ________@________ _________________ _________________ _________________ _________________ _________________ _________________ _________________ _________________ N = 1 _________________ _________________ _________________ _________________ _________________ _________________ …

30
Hello Worldウィンドウ
hello world insideと表示するウィンドウを作成します。OKボタンやキャンセルボタンを内部に置くことはできません。それは、こんにちは世界と言う単なる窓でなければなりません。私はウィンドウフレームの内容やウィンドウの外観については気にしませんが、その中にはhello worldのみを表示する必要があります。 例: 最短のコードが優先されます。 編集:申し訳ありませんが、ウィンドウが実際にそこにとどまらなければならないヨハネス・クーン、すぐに閉じないかもしれません。私はこのシナリオを考えなかったので、このことを説明しませんでした。 編集2:私たちは現在3つの同点回答(20文字)を持っています。誰が勝者になるべきかについての提案は大歓迎です。

18
クリス・パインの「ろうおばあちゃん」
私はRubyLearningのメンターであり、私たちが生徒に提供するエクササイズの1つは、クリス・パインの本「Learn to Program」の「ろうおばあちゃん」エクササイズです。説明は次のとおりです。 ろうおばあちゃんプログラムを書く。おばあちゃんに何を言っても(入力したものは何でも)、彼女は叫ぶ(すべて大文字で入力する)場合を除き、「ハァッ!声を上げて、息子よ!」あなたが叫ぶと、彼女はあなたの声を聞くことができ(少なくとも彼女はそう思う)、「いいえ、1938年以来じゃない!」と叫ぶ。 あなたのプログラムを本当に信じられるものにするために、おばあちゃんは毎回異なる年を叫んでください。多分、1930年から1950年の間の任意の年。 「BYE」と叫ぶ。 いくつかのコースを繰り返した後、私はこれをどれだけ小さくできるかを試してみましたが、今では112文字になりました。 puts (s||='').upcase==s ? "NO, NOT SINCE #{1930+rand(21)}!":"HUH?! SPEAK UP, SONNY!" until(s=gets.chomp)=="BYE" ここでRubyはすでに非常にうまく機能していると思うので、あなたが選択した言語でこれを達成できる文字数が少ないことに興味があります。 編集:以下に投稿されたPerlソリューションは、 ruby -nle 'puts($_=="BYE"?exit: $_.upcase!? "HUH?! SEPAK UP, SONNY!":"NO, NOT SINCE #{1930+rand(21)}!")' 式は92文字n、lオプションとオプションはさらに2文字です。
22 code-golf  string 

30
最短電力セットの実装
問題定義 指定されたセットのpowersetを印刷します。例えば: [1, 2, 3] => [[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]] 各要素は別々の行に印刷されるため、上記の例は次のように印刷されます。 [] [1] [2] ... [1, 2, 3] サンプルコード(Dのpythonの例はこちら): import std.stdio; string[][] powerset(string[] set) { if (set.length == 1) { return [set, []]; } string[][] ret; foreach (item; powerset(set[1 .. $])) …

28
nの最後のゼロ以外の数字!
入力として1≤N≤1,000,000の整数を指定すると、N!の最後のゼロ以外の数字が出力されます。、どこ!階乗(1からNまでのすべての数値の積)です。これは、OEISシーケンスA008904です。 プログラムは、有効な入力のために妥当なマシンで10秒以内に終了する必要があります。 テストケース 1 => 1 2 => 2 3 => 6 4 => 4 5 => 2 6 => 2 7 => 4 8 => 2 9 => 8 10 => 8 100 => 4 1000 => 2 10000 => 8 100000 => 6 1000000 => 4 これはコードゴルフなので、バイト単位の最短コードが勝ちです!

3
メタボウリングゴルフ
あなたの仕事は、最もユニークなバイトを持つ別のプログラム(B)を出力する最短のプログラム(A)を作成し、それが元のプログラム(A)を出力することです。基本的に、一対のウロボロスプログラムの半分(定期的な反復クイン)をゴルフし、残りの半分をボウリングしています。AとBは異なる言語である場合があります。 ルールとスコアリング 最終スコアは<number of unique bytes in B> / <number of bytes in A>です。最高スコアが勝ちます。理論上の最大スコアは256であることに注意してください。 プログラムAは少なくとも1バイトの長さが必要です プログラムBを完全に無操作で構成することはできません。つまり、少なくとも1つの文字が何らかの方法で出力に影響を与える必要があります。 カインの標準ルールは両方のプログラムに適用されます。特に、どちらの場合もエラーカインは許可されません。 回答形式の一貫性のために、次のようなものから回答を始めてください。 # <Language for A> & <Language for B>, Score: <B score> / <A score> = <combined score>

12
本当にカナダの日でしたか?
7月1日はカナダの日(イェーカナダ)です!またはそれは?と思われるWikipediaのこの日のためのページでは、カナダ関連コンテンツをたくさん持っているが、より多くのカナダ人である別の日はありますか? あなたの仕事は、入力として日付(月と日)を取り、入力された日付のWikipediaページで「カナダ」の言及の数を返すまたは出力するプログラムまたは関数を書くことです。いくつかのルール: 日付は任意の合理的な形式で入力できます あなたの提出はurlからデータを引き出す必要がありますen.wikipedia.org/wiki/Month_Day。 のみ"Canada"を検索し付属のサブストリングをカウントする必要があり、タイトルのみの場合には。"Canadian"カウントしませんが、カウント"Canada's"します。大文字と小文字を区別する正確なテキスト"Canada"が文字列内に存在する限り、一致します ページのコンテンツは、対応する.htmlファイル内のすべてと見なされます(つまり、ページとしてaをダウンロード.htmlしてメモ帳で開くと表示されます) 結果はSTDOUTに出力されるか、返されるか、他の合理的な方法で表示されます。 テストケース: July 1 => 34 May 14 => 1 Oct 31 => 2 July 4 => 2 これはコードゴルフであるため、最短の提出が勝ちます (報われないボーナスとして、カウントが最も高い日が何であるかを知りたいです)

8
レトロなディスプレイを読む
盗まれたアート数字のサイズは? 7セグメントの数字は、文字を使用してASCIIで表すことができます_|。数字は0-9次のとおりです。 _ _ _ _ _ _ _ _ | | | _| _| |_| |_ |_ | |_| |_| |_| | |_ _| | _| |_| | |_| _| あなたの仕事は、アートを通常の数値に解析することです。 数字に関する注意 各桁の幅は異なります。 1 幅が 1 3そして、7ある2広いです 245689そして0、すべて3広いです また、各桁の間には1文字のパディングがあります。完全な文字セットは次のとおりです。 // <-1つのスペースである必要がありますが、SEの書式設定は台無しにします | | ------------- _ _ | | _ …

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