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

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

30
継続的にメモリを割り当てる最短プログラム
少なくとも、割り当て可能なメモリ量のオペレーティングシステムの制限に達するまで、永久に実行され、実行時間が長くなるにつれてヒープ上により多くのメモリを割り当てるプログラムを作成します。 多くのカーネルは、実際に使用するまで割り当てたメモリを実際に予約しないため、プログラムがCまたは他の低レベル言語である場合、各ページに何かを書き込む必要があります。インタプリタ言語を使用している場合、おそらくこれを心配する必要はないでしょう。 最短のコードが優先されます。
49 code-golf 

9
xkcd表記で日付を読み取ります
ISO 8601標準の日付形式についての彼のxkcd で、ランドールはかなり奇妙な代替表記法に潜んでいます: 大きな数字はすべて通常の順序で現在の日付に表示される数字であり、小さな数字はその数字の出現の1から始まるインデックスです。したがって、上記の例はを表し2013-02-27ます。 そのような日付のASCII表現を定義しましょう。最初の行にはインデックス1〜4が含まれます。2行目には「大きい」数字が含まれます。3行目には、インデックス5〜8が含まれます。1つのスロットに複数のインデックスがある場合、最小から最大の順に並んで表示されます。m単一のスロット(つまり、同じ数字と同じ行)に最大でインデックスがある場合、各列はm+1文字幅で左揃えにする必要があります。 2 3 1 4 0 1 2 3 7 5 67 8 逆の変換については、コンパニオンチャレンジもご覧ください。 挑戦 xkcd表記で日付を指定すると、対応するISO 8601日付(YYYY-MM-DD)が出力されます。 プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取り、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 入力は、年0000から年までの有効な日付であると想定できます9999。 入力に先行スペースはありませんが、行のスペースが最大で1つのスペースの列を含む長方形になるまで、行にスペースが埋め込まれていると想定できます。 標準のコードゴルフ規則が適用されます。 テストケース 2 3 1 4 0 1 2 3 7 5 67 8 2013-02-27 2 3 1 4 0 1 2 4 5 5 67 …

30
無限ディスクI / Oの最短コード
(Google Chromeで50個のタブを開くだけです:D(冗談です、できません)) 任意の言語の無限ディスクI / Oの最短コード、C#の例: using System.IO; namespace FileApp { static class Program { public static void Main() { do { File.WriteAllText("a", "a"); File.Delete("a"); } while (true); } } } ただし、ディスク全体をいっぱいにすることはできません。最終的に停止し、有限になるからです。 そして、あなたは読書だけを行うことはできません、無限の書き込みが発生しなければなりません。(十分なランタイム後にSSDを強制終了する必要があります。) 割れてください!:)
49 code-golf 

5
これは自己参照の問題です
タッパーの自己参照式(Wikipediaからコピー) Tupperの自己参照式は、Jeff Tupperによって定義された式であり、平面内の非常に特定の場所で2次元でグラフ化すると、式自体を視覚的に再現するように「プログラム」できます。数式のグラフ化の演習として、さまざまな数学およびコンピューターサイエンスのコースで使用されます。 フロア機能はどこに ありますか。 をk次の543桁の数字にします。 960939379918958884971672962127852754715004339660129306651505519271702802395266424689642842174350718121267153782770623355993237280874144307891325963941337723487857735749823926629715517173716995165232890538221612403238855866184013235585136048828693337902491454229288667081096184496091705183454067827731551705405381627380967602565625016981482083418783163849115590225610003652351370343874461848378737238198224849863465033159410054974700593138339226497249461751545728366702369745461014655997933798537483143786841806593422227898388722980000748404719 1つのグラフの点の設定した場合(x, y)で0 <= x < 106且つk <= y < k + 17上記の不等式を満足する、このように得られたグラフの外観(このプロットで軸が反転していることに注意してくださいが、そうでなければ画像が逆さまに出てきます)。 だから何? この式の興味深い点は、可能な106x17の白黒画像をグラフ化するために使用できることです。現在、実際に検索して検索するのは非常に面倒なので、画像が表示されるk値を把握する方法があります。プロセスは非常に簡単です。 画像の最初の列の下のピクセルから始めます。 ピクセルが白の場合、k値に0が追加されます。黒の場合は、1を追加します。 ステップ2を繰り返して、列を上に移動します。 列の最後で、次の列に移動し、同じプロセスに従って下から始めます。 各ピクセルを分析した後、このバイナリ文字列を10進数に変換し、17を掛けてk値を取得します。 私の仕事は何ですか? あなたの仕事は、106x17の画像を取り込み、対応するk値を出力できるプログラムを作成することです。次のことを想定できます。 すべての画像は正確に106x17です すべての画像には黒(#000000)または白(#FFFFFF)ピクセルのみが含まれ、その間には何もありません。 いくつかのルールもあります。 出力は単にk値です。適切なベースにする必要がありますが、任意の形式にすることができます。 画像はPNGまたはPPMから読み取る必要があります。 標準的な抜け穴はありません。 テスト画像 [ ]は、〜1.4946x10 542を生成するはずです [ ]は〜7.2355x10 159を生成するはずです [ ]は2 1801 * 17を生成します [ ]は(2 1802 -1)* …

13
ヤル!隠された宝物への地図!
前書き 「ヤァ!!私たちは自分自身を「プログラマー」と呼んだラディに地図を作ってもらいました!しかし、「tis written wit」奇妙な数字「n文字!」「E5、N2、E3」...意味ですか?狂気!適切な宝の地図を書くことすらできません、無駄なクレチンです。それを修正してください!宝を分け前に贈ります! " チャレンジの説明 海賊グループが宝の地図を読むのに苦労しています。もっと...海賊版に変換するプログラムを書くことができますか? 入力として、元の宝の地図を受け取ります。これはコンマ区切りの文字列のリストです。各文字列は、文字部分(海賊にどの方向に進む必要があるかを伝える)と数字部分(海賊にその方向に進むべき歩数を伝える)で構成されます。たとえば、次の宝の地図: E2,N4,E5,S2,W1,S3 「東へ2歩、北へ4歩、東へ5歩、南へ2歩、西へ1歩、そして南へ3歩」という意味です。 出力として、あなたは文字を使用して、グラフ形式で出力マップをよ>、^、v、および<ポインタとして。上記の入力の出力は次のとおりです。 >>>>>v ^ v ^ v< ^ v >>^ X X代わりに南への最後のステップを置き換えたことに注意してください。これは、最後のステップが宝のある場所であり、誰もが知っているように、海賊は宝の地図にXがなければならないからです。 ちなみに、マップはそれ自体と交差することはないので、重複を処理することを心配する必要はありません。また、出力の最後に改行を追加することもできます。 サンプルの入力と出力 S5,W2 v v v v v X< N1,E1,S1,E1,N1,E1,S2 >v>v ^>^X N1 X N6,E6,S6,W5,N5,E4,S4,W3,N3,E2,S2,W1,N2 >>>>>>v ^>>>>vv ^^>>vvv ^^^Xvvv ^^^^<vv ^^^<<<v ^^<<<<< E21,S2 >>>>>>>>>>>>>>>>>>>>>v X N12,E11,S12,W2,N4 >>>>>>>>>>>v ^ v …

30
現在時刻を出力する
チャレンジ 次のいずれかの方法で、1秒ごとに1回、現在の時刻を連続して(割り込みによってキャンセルされるまで)出力する必要があります。 24時間形式またはAM / PM形式でなければなりません。 前者の場合は、コロン(15:47:36)で区切る必要があります。 後者の場合、コロンで区切られ、AM / PMが続く必要があります(例:3:47:36 PM) インターネットから取得される場合があります。 システム時刻である可能性があります。 選択したテキストをサポートする、自然にアクセス可能な形式の出力を出力する必要があります。 出力には、時間のほかに追加の情報が含まれる場合がありますが、1秒あたりの時間の出力は1つだけを保証する必要があります。 連続出力は、2番目に離れている必要があります-2番目が出力間で変わるまで待機することを選択した場合、それは問題ありません。各出力の間に1秒間待機すると、最終的に精度が失われますが、これは完全に受け入れられます。 これはカタログであるため、このチャレンジの後に作成された言語は競合できます。提出物をテストできるようにインタープリターが必要であることに注意してください。以前に未実装の言語用にこのインタープリターを自分で作成することは許可されています(推奨されます)。それ以外は、コードゴルフのすべての標準ルールに従わなければなりません。ほとんどの言語での提出物は、適切な既存のエンコーディング(通常は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 コードスニペットを表示 var QUESTION_ID=65020,OVERRIDE_USER=44713;function …
49 code-golf  date 

30
アルファベット、アルファベット、または文字のみを出力します
課題は簡単です。 入力xを受け取り、小文字のアルファベットのx一部である場合は小文字のアルファベットを出力し、大文字のアルファベットのx一部である場合は大文字のアルファベットを出力しx、どちらでもない場合にのみ出力する関数またはプログラムを記述します。 ルール: 入力は、関数の引数またはSTDINからのものです。 入力は、32〜126(ティルドまでのスペース)の印刷可能なASCII文字のいずれかになります。 入力は引用符'x'またはの内側にある場合がありますが、and は有効な入力であり、サポートされる必要"x"があることを忘れないでください。'" 入力はアルファベットの任意の文字にすることができます。つまり、aまたはであると仮定することはできませんA。 出力はアルファベットの1つまたは単一のシンボルのみである必要がありますが、末尾の改行は問題ありません。 アルファベットの文字は、スペース、コンマなどで区切ってはいけません。 いくつかの例: F ABCDEFGHIJKLMNOPQRSTUVWXYZ z abcdefghijklmnopqrstuvwxyz " " <- Input: Space <- Output: Space バイト単位の最短コードが勝ちます。 オプションですが、感謝します:あなたの言語がオンライン通訳者を持っている場合、他の人が簡単にテストできるようにリンクも投稿してください。 リーダーボード この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 2 (-p flag) = 45 …

6
あなたの車は右に曲がるだけです!
前書き 障害物コースで暴走した車に閉じ込められているという不幸があります。車のすべての機能は応答しません。損傷したステアリングシステムを除きます。直進することも、右折することもできます。車を安全に誘導できますか? 力学 あなたの車は8x8マップの左上隅から始まり、右下隅で安全になろうとしています。車の向きは(最初は右)、90度単位で測定されます。車は次の2つのアクションのいずれかを実行できます。 1マス先に進む、または 時計回りに90度回転してから、1マス先に進みます 車は、1つの広場で180度回転するのに十分なほど鋭角に回転できないことに注意してください。 正方形のいくつかは障害です。車が障害物の広場に入ると、クラッシュします。8x8コースの外側はすべて障害物であると想定されているため、コースを離れることはクラッシュに相当します。 右下の四角は安全な四角で、車が障害物コースを脱出できるようにします。開始正方形と安全な正方形は障害物ではないと想定されます。 仕事 障害物コースを表す8x8配列(マトリックス、リストのリストなど)を入力として受け取るプログラムまたは関数を作成する必要があります。プログラムはブール値、または同様の真実を返すか印刷します。車がクラッシュせずに安全な広場に到達できる場合(マップが解ける場合)、出力はになりTrue、そうでない場合はになりFalseます。 得点 標準のゴルフ規則-勝者はバイト数が最も少ないコードです。 ボーナス: 解決可能なマップの場合、コードが有効な一連のドライバー入力を出力して、車を安全な広場に導く場合、スコアから10パーセントポイントを差し引きます。出力形式の例は次のとおりですSRSSR(ストレート、右、ストレート、ストレート、右を示す)。この出力は、標準出力を置き換えTrueます。 解決できないマップの場合、コードの出力が、クラッシュが避けられない状況と、障害物コースを永遠に運転できる状況とを区別する場合、スコアから10パーセントポイントを差し引きます。出力例Crashは、衝突が避けられない場合、またはStuck車が障害物コースに永久にスタックしている場合です。これらの出力はFalse、解決できないマップの標準出力を置き換えます。 例 プログラムに次のような8x8配列が指定されている場合: [[0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0], [1, 1, 0, 0, 0, 0, 0, 0], [0, 1, 0, 1, 0, 0, 0, 0], …

30
クレジットカード番号などを検証するためのLuhnアルゴリズム
チャレンジ (クレジットカード)番号を検証するためのLuhnアルゴリズムを計算する最短のプログラムまたは関数を作成します。 Luhnアルゴリズムの説明 RosettaCodeから、このチャレンジの目的のためのこのアルゴリズムは、次の入力例を使用して指定されています49927398716。 Reverse the digits, make an array: 6, 1, 7, 8, 9, 3, 7, 2, 9, 9, 4 Double the numbers in odd indexes: 6, 2, 7, 16, 9, 6, 7, 4, 9, 18, 4 Sum the digits in each number: 6, 2, 7, 7, 9, 6, …

30
お父さんのジョークは楽しい
私たちは皆、次のような古典的なパパのジョークを知っています: 誰かが自分の自己を説明する文を言います(I'm tiredまたはI'm confused)。 Hi <adjective>, I'm Dad!導入部は同じ形式(にI'm Peter従うのと同じ形式I'm hungry)に従うため、お父さん冗談愛好家が来て返信します。 あなたの仕事は、自己記述子の形式で入力を受け取り、適切な父親ジョーク形式を出力することですが、「お父さん」という言葉を使用する代わりに、プログラミングしているプログラミング言語の名前を使用しますに。 テストケース(Pythonによって解析されていると仮定): I'm amazing Hi amazing, I'm Python! I'm tired Hi tired, I'm Python! I'm hungry Hi hungry, I'm Python! I'm fat Hi fat, I'm Python! ここで、これらのテストケースがGolfscriptによって解析されていると仮定します。 I'm a programmer Hi a programmer, I'm Golfscript! I'm a question-writer Hi a …

30
再起動後も文字列を保持するための言語の最短コード
あなたのプログラム: 2つのプログラム(両方とも同じ言語)を作成します。ストレージプログラムはSTDINから文字列を取得し、永続的な場所に保存し(以下を参照)、エラーなしで終了します。検索プログラムは入力を受け取らず、保管されたストリングを検索して、それをSTDOUTに出力します。 永続性の客観的テスト: ローカルマシンでストレージプログラムを実行し、ローカルマシンの電源を入れ直し、ローカルマシンで検索プログラムを呼び出すことができるはずです。この再起動テストに合格する限り、(Web上でも)必要に応じて文字列を隠しておくことができます。 テストケース: ストレージと検索: echo foo | Store Retrieve foo 繰り返しストアは上書きする必要があります(set()メソッドのように): echo foo | Store echo bar | Store Retrieve bar 繰り返し取得は非破壊的です(get()メソッドのように): echo foo | Store Retrieve foo Retrieve foo ストレージを呼び出す前の取得: これについて心配する必要はありません。検索プログラムは、ストレージプログラムが過去のある時点で実行されたと想定できます。 入力/出力の柔軟性。 人々は、これを厳密なSTDIN / STDOUTから標準のIOルールに拡張するように頼まれました。抜け穴が多すぎるため、できません。一部の標準IOオプションでは、入力が永続的な方法ですでに保存されています。たとえば、「プログラムはファイルから入力を取得できます」。厳密なSTDINとSTDOUTよりも柔軟になりたいが、水門を開かない。 標準のIOルールスレッドから、課題を解決しないものを選択しています。 必要に応じて、プログラムはGUIプロンプトおよびコマンドラインプロンプトを介して入力を取得できます。 プログラムは画面に表示することで出力できます。これにはGUIダイアログが含まれます プログラムはコマンドライン引数を介して入力を取得できます プログラムはSTDERRに出力できますが、実際にはエラーをスローすることはできません。 代替を使用する場合、ユーザー対話型である必要があります。ユーザーは、入力をプログラムにパイプする、プログラムが提供するプロンプトに入力する、またはプログラムのコマンドライン引数として入力を入力する以外に、他の作業を行う必要はありません。ユーザーは、検索プログラムを実行して画面に出力を表示したり、STDOUTまたはSTDERRに送信したりする以外に何もする必要はありません。 許可される仮定: 2つのプログラムは同じディレクトリで実行されます プログラムには、そのディレクトリに対する読み取り/書き込み権限があります 作成したファイルは再起動後も存続します(一時ディレクトリにはありません) 文字列の一部ではなかった1つの末尾の改行が許可されます。他の末尾の空白はありません これはコードゴルフであり、スコアは両方のプログラムのバイトの合計です。

30
熱波を検出する
バックグラウンド オランダ王立気象研究所は、熱波の定義のシリーズとして*を少なくとも 5 個の連続 ≥25℃の天気(「夏の天気」)は、そのようなことの日の少なくとも当時の3がある≥30°C(「熱帯天気」 )。 熱帯の天気は連続して測定する必要はありません。たとえば30, 25, 30, 26, 27, 28, 32, 30、4日間の熱帯の天気で、8日間の熱波です。 *(まあ、オランダの基準による。) チャレンジ 連続した日からの摂氏温度測定値を表す正の整数の空でないリストが与えられた場合、そのリストに熱波が含まれるかどうかを決定します(上記の定義に従って)。 バイト単位の最短回答が優先されます。 テストケース 偽り: [30] [29, 29, 29, 47, 30] [31, 29, 29, 28, 24, 23, 29, 29, 26, 27, 33, 20, 26, 26, 20, 30] [23, 31, 29, 26, 30, 24, 29, 29, …

30
紐をはずす
すでにスペースから文字列を削除する方法はすでにあります。 しかし、適切な紳士/婦人として、むしろそれを脱がなければなりません。 文字列を脱ぐことは、それを取り除くことと同じですが、より繊細です。先行スペースと後続スペースをすべて一度に削除する代わりに、それらを1つずつ削除します。また、ステップを燃やさないように、先頭と末尾を交互に切り替えます。 " codegolf "(先頭と末尾の5つのスペース)で始まる例: codegolf codegolf codegolf codegolf codegolf codegolf codegolf codegolf codegolf codegolf codegolf 最初に文字列を変更せずに出力します。次に、すべてのステップを出力します。先頭のスペースを削除することから始めます(該当する場合-ルール2を参照)。 入力の先頭と末尾のスペースの数が異なる場合があります。片方のスペースが足りなくなった場合は、ひもがむき出しになるまでもう片方を脱いでください。 入力には、先頭または末尾のスペースがない場合があります。その場合は、そのまま出力します。 PPCGのデフォルトのI / Oメソッドを使用します。PPCGデフォルトの抜け穴は禁止されています。 空の入力、またはスペースのみを含む入力での未定義の動作は問題ありません。 文字列にはASCII印刷可能スペース(0x20to 0x7E)の文字のみが含まれると想定できます。 例- .読みやすくするためにスペースをドットに置き換えます: 4 leading spaces, 5 trailing: "....Yes, Sir!....." ....Yes, Sir!..... ...Yes, Sir!..... ...Yes, Sir!.... ..Yes, Sir!.... ..Yes, Sir!... .Yes, Sir!... .Yes, Sir!.. Yes, …
48 code-golf  string 

1
Ruby on Rails(またはTrackety Track)
あなたは鉄道エンジニアのルビーです。あなたの仕事は、すべての駅(M)を訪れるように、任意の谷にトラックを置くことです。敷設されるトラックの量は重要ではありませんが、谷の入口/出口ポイント(>)で開始および終了する1つの連続したパスに配置する必要があります。他にもいくつかの制約があります:山(^)は通過できないため、それらを迂回しなければなりません。rivers)は~bridge(X)を使用して渡らなければなりません。#ません。また)も通過できません。 トラックのルール トラックが適切に配置されていない場合、脱線が発生し、誰もそれを望みません。そこで、トラックの配置に関するルールを次に示します。 トラックには次の4種類があります- | / \。 以下に、それぞれを他の方法と組み合わせる方法を示します。 許可される組み合わせ-(各例の中央): ##### ##### ##### ##### ##### ##### ##### # # # # #\ # # # # /# #\ /# # # #---# # --# # --# #-- # #-- # # - # # - # # # #/ # # …

15
このTic-Tac-Toeボードは有効ですか?
チャレンジ 任意の形式の三目並べボードを使用して、それが有効かどうかを判断します。ボードが三目並べゲームの結果である場合、それは有効です。たとえば、このボードは有効です。XOX OXO XOXそれどころか、このボードは無効です。 XXX XXO OOO 入力 フル(9/9)チックタックトーボード(ゲームではなく結果)。 ルール 入力形式は、可能な512個の入力ボードすべてを表示できる必要があります。不明瞭/不明瞭な場合は、作成するための指示とともに指定する必要があります。ただし、ボードのマークは個別に記載する必要があります。 有効性と無効性の2つの出力が必要です。 ボードに空のスポットがないと仮定できます。 テストケース 有効: XOX OXO XOX XOX XOX OXO XOO OOX OXX OXO XOX OXO 無効: XXX XXX XXX OOO OOO OOO XXX OOO XXX OOO OOX XXX XXO OXO OOX 少しの援助? ボードは、次の2つの条件が満たされている場合にのみ、このチャレンジに対して有効と見なされます。 5 Xと4 O、または4 Xと5 Oがあります。たとえば、 …

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