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

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

30
青鴨、赤鴨、灰色鴨
だから、先週、ダック、ダ​​ック、グースをプレイするチャレンジを投稿しました。これは、地域の「灰色のアヒル」のバリエーションについてコメントする多くのミネソタンにつながりました。 ルールは次のとおりです。 この色のリストを使用して: Red Orange Yellow Green Blue Indigo Violet Gray 次の規則に従うプログラムを作成します。 これらの色のいずれかを選択し、「duck」という単語の前に追加して、結果を新しい行に出力します。 色が「グレー」ではなかった場合は、手順1を繰り返します。 色が「グレー」の場合、プログラムを終了します。 従わなければならない規則: プログラムは一貫して同じ行数を印刷するべきではありません。 「灰色のアヒル」から始めることができますが、一貫して行うべきではありません。 各行にアヒルが1匹だけいるはずで、空の行は出力されません。 色とアヒルの間に少なくとも1つのスペースが必要です。 重要な出力の前後の空白は関係ありません。 出力の大文字小文字は関係ありません。 色を繰り返すことができます。 出力には毎回すべての色が含まれている必要はありませんが、コードがすべての色を出力できるようにする必要があります。 上記の配列以外の色を含めることはできません。 グレーまたはグレーのいずれかで回答できます。 色は一貫して同じ順序であってはなりません。 最短のプログラムを目指してください。最小のバイト数が優先されます。 出力例: Green duck Orange duck Yellow duck Indigo duck Yellow duck Gray duck この変化について最初に警告してくれた@Mike Hillに感謝します。
48 code-golf 

30
海底に穴が開いています
幼い息子に夕食を食べさせようと(そして失敗して)試みながら、私は彼に歌ってみました。この歌の途中で、定型的な構造がゴルフをコーディングするのに役立つかもしれないことに気付きました! タスクは、入力を受け入れずに次のテキストを生成するプログラムまたは関数を作成することです。 There's a hole in the bottom of the sea There's a hole in the bottom of the sea There's a hole, there's a hole There's a hole in the bottom of the sea There's a log in the hole in the bottom of the sea There's a log …

12
核分裂性の数
Evolution of OEISの作業中にこのシーケンスを見つけましたが、答えとして投稿することはできませんでした。Mathematicaでリファレンス実装を作成した後、これは別の課題として行うのは楽しい練習だと思ったので、ここで先に進みます。 数値核分裂炉を作りましょう!正の整数を考えてくださいN。例として、を見てみましょう24。この数を分裂させるには、合計がになる連続した正の整数の最大数を見つける必要がありますN。この場合、それは7 + 8 + 9 = 24です。そこで24、3つの新しい数値に分割しました。しかし、これは連鎖反応のない核分裂炉ではありません。したがって、これらのコンポーネントのプロセスを再帰的に繰り返しましょう。 24 /|\ / | \ / | \ 7 8 9 / \ /|\ 3 4 / | \ / \ / | \ 1 2 2 3 4 / \ 1 2 数値をより小さい連続整数に分解できない場合は常にプロセスを停止することに注意してください。また、我々が書かれている可能性があることに注意し9て4 + 5、しかし、2 + 3 + 4より多くのコンポーネントがあります。核分裂数のN今含む、このプロセスで得られた整数の数として定義されているN自分自身を。上記のツリーには13個のノードがありF(24) …

30
ファシー・マクフェイスフェイス
誰もがボートーを覚えていますか? 古い言葉を完全に作ることができますよね? 文字列をSomethingy McSomethingfaceに変換する関数を作成します。 入力として1つの文字列を受け入れる必要があります。入力の大文字小文字を無視します。 単語が「y」で終わる場合、関数は最初のインスタンスに追加の「y」を追加せず、2番目のインスタンスで削除する必要があります。 単語の末尾が 'ey'の場合、最初のインスタンスで追加の 'y'を追加するのではなく、2番目のインスタンスで両方を削除する必要があります。 出力の最初の文字には大文字、「Mc」の「M」、および「Mc」の後の最初の文字のみを含める必要があります。 3文字以上の文字列を処理する必要があるだけです。 例: boat => Boaty McBoatface Face => Facey McFaceface DOG => Dogy McDogface Family => Family McFamilface Lady => Lady McLadface Donkey => Donkey McDonkface Player => Playery McPlayerface yyy => Yyy McYyface DJ Grand Master Flash => Dj …
47 code-golf  string 

29
Nページに移動
一般に、ページ選択インターフェースを作成する必要があります。通常、次のようになります。 prev 1 ... 3 4 [5] 6 7 ... 173 next つまり、合計で173ページあり、現在5ページ目です。 このチャレンジでは、ページの総数と現在のページ番号を入力として受け取り、ページセレクターを「表示」するための文字列(または配列)を出力する必要があります。 入力 2つの正の整数 現在のページ番号 ページ数 1 <= current <= totalであることが保証されています。 出力 ページセレクターのUIを表す文字列または配列を出力します。 文字列として出力する場合は、各ページの間に単一のスペース(U + 0020)を使用する必要があります。 配列として出力する場合、配列は各項目を文字列に変換し、それらを単一のスペースで結合した後、文字列と同じ結果を生成する必要があります。 3つのドット(...)は配列出力ではオプションではありません。 詳細 current == 1の場合、「prev」は出力されません。それ以外の場合、「prev」が最初に表示されます。 current == totalの場合、「next」は出力されません。それ以外の場合、「next」は最後になります。 最初のページ(1)と最後のページ(合計)は常に出力されます。 [1..total]の範囲内にある限り、現在のページ、(現在-1)ページ、(現在-2)ページ、(現在+ 1)ページ、(現在+ 2)ページが出力されます。 他のページ番号は出力されません。 出力されたページは昇順でソートする必要があります。 出力に重複するページ番号を含めることはできません。 現在のページは、のペアでラップして強調表示する必要があり[]ます。 隣同士の間に隙間がある場合は、3つのドット(...)を挿入する必要があります。 テストケース Current Total Output …
47 code-golf  string 

6
TREE(3)よりも大きい数のゴルフ
関数TREE(k)は、最長のツリーシーケンスT 1、T 2、... の長さを示します。各頂点にはk色のいずれかでラベルが付けられ、ツリーT iには最大でi個の頂点があり、ツリーはありませんシーケンス内でそれに続くツリーのマイナー。 TREE(1)= 1、たとえばT 1 = (1)。 TREE(2)= 3:例えばT 1 = (1); T 2 = (2)--(2); T 3 = (2)。 TREE(3)は大きな大きな数字です。グラハムの数よりもさらに大きい。あなたの仕事は、それよりもさらに大きな数を出力することです! これはコードゴルフなので、目標はTREE(3)以上の値を(stdoutに)確定的に出力する言語で最短のプログラムを作成することです。 入力を許可されていません。 プログラムは最終的に終了する必要がありますが、マシンのメモリは無限にあると想定できます。 あなたの言語の数値型は任意の有限値を保持できると仮定するかもしれませんが、これがあなたの言語でどのように正確に機能するかを説明する必要があります(例:浮動小数点数は無限の精度を持っていますか?) 出力として無限は許可されません。 数値型のアンダーフローは例外をスローします。ラップアラウンドしません。 そのためTREE(3)が使用できるように複素数で急速に成長する階層 F近似(Ωθをω ω)1拍の数(3)。 (保存するのに十分なメモリとはコンピュータが存在しないので、あなたはあなたのソリューションが有効であるかどうかを確認するためにあなたの数がとても大きく、あなたのコードのungolfedバージョンである理由の説明を提供する必要がありますTREE(3) ) 注:ここで現在見つかっている答えはどれも機能しません。 なぜTREE(3)はそんなに大きいのですか?

30
コードの99個のバグ
コードの99個のバグ ボトルが減少する代わりにバグが増加するコンピューターサイエンス向けの「99本のビールボトル」をインターネットに再投稿することがよくあります。ここでは例のTシャツ。 さまざまな言語で再帰や乱数が生成される可能性を確認し、最も効率的な方法を見つけることは興味深いと思います。 99本のビールを扱うには他にもいくつかの課題がありますが、その数は増えたり減ったりしているようには見えません! チャレンジ あなたのプログラムや関数は何も入力せずに印刷すべきです コードの99個のバグ コードの99個のバグ 片方を下ろしてパッチを当てる コードのXバグ (空行) Xは、前の整数から1を引いたものに[-15,5]の範囲のランダムな整数を加えたものです。 マイナス1をランダムな整数にマージして、範囲[-16,4]を許可できます。 範囲は排他的であるため、マイナス1プラス(-16,6)または(-17,5)になります。 ランダムな整数は、均等に分散する必要はなく、すべて可能である必要があります。 プログラムは常に99個のバグで始まります。 「1個のバグ」の文法エラーは無視できます。 バグの数が0または負の場合、プログラムは停止し、印刷されます コードに0個のバグ 負の数のバグがあってはなりません。エンディングは次のようになります コードのYバグ コードのYバグ 片方を下ろしてパッチを当てる コードに0個のバグ (空行) コードに0個のバグ 末尾の改行は許容されます。 コードは、完全なプログラムまたは関数にすることができます。 入力はありません。 出力はstdoutまたは返される必要があります。 STDOUTに必要なテキストがある限り、logs / STDERRの警告/エラーは問題ありません。詳細はこちらをご覧ください。 これはコードゴルフなので、バイト単位の最短コードが勝ちです。 出力例 毎回-11のバグに対応したビンの出力例を貼り付けます
47 code-golf  random 

24
パリンドロームへのダウングレード
文字列を考えるとs、あなたが回文を作成するために削除することができ、最小の連続した部分文字列を返します。 例: 800233008 -> 2 racecarFOOL -> FOOL abcdedcba -> (empty string) ngryL Myrgn -> "L " (or " M") 123456789 -> 12345678 (or 23456789) aabcdbaa -> c (or d) [[]] -> [[ (or ]]) a -> (empty string) ユーザーからのテストケースの提案(記載されていないエッジケースを見つけた場合は、コメントを投稿してください): aabaab -> b | Suggested by Zgarb, some returned "aa". …

30
私の三角形は正しいですか?
a, b, c三角形の3辺の長さを考えて、三角形が直角(つまり、1つの角度が90度に等しい)かどうかを判断します。 入力 任意の順序の 3つの正の整数値 出力 特定の真の出力(どちらかtrue、1、yes、...)、または特定の偽出力(false、0、no、...) 例 5, 3, 4 --> yes 3, 5, 4 --> yes 12, 37, 35 --> yes 21, 38, 50 --> no 210, 308, 250 --> no ルール 入力と出力は、任意の便利な形式で指定できます。 提出する際には、true値とfalse値を明記してください。 負の値または無効なエッジトリプルを処理する必要はありません 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。 可能であれば、他の人がコードを試すことができるように、オンラインテスト環境へのリンクを含めてください! 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。

13
エクストリームフィボナッチ
このWebサイトでは、フィボナッチのチャレンジが10億回繰り返されているため、10億回のフィボナッチチャレンジで物事を盛り上げましょう! あなたの課題は、できるだけ短いプログラムで、1,000,000,000番目のフィボナッチ数の最初の1000桁の10進数を出力することです。その後、オプションで、残りの数字を含むがこれに限定されない、選択した追加の出力が続く場合があります。 私は大会のことを使用していますfib 0 = 0、fib 1 = 1。 プログラムは、実行してその正当性を検証するのに十分な速度である必要があります。このために、最初の1000桁を以下に示します。 7952317874554683467829385196197148189255542185234398913453039937343246686182519370050999626136556779332482035723222451226291714456275648259499530612111301255499879639516053459789018700567439946844843034599802419924043753401950114830107234265037841426980398387360784284231996457340782784200767760907777703183185744656536253511502851715963351023990699232595471322670365506482435966586886048627159716916351448788527427435508113909167963907380398242848033980110276370544264285032744364781198451825462130529529633339813483105771370128111851128247136311414208318983802526907917787094802217750859685116363883374847428036737147882079956688807509158372249451437519320162582002000530798309887261257028201907509370554232931107084976854715833585623910450679449120011564762925649144509531904684984417002512086504020779012501356177874199605085558317190905395134468919443313026824813363234190494375599262553025466528838122639433600483849535070647711986769279568548796855207684897741771784375859496425384355879105799

30
井戸のカタツムリ
バックグラウンド 次のような一般的な謎があります。 カタツムリは30フィートの井戸の底にあります。毎日カタツムリは3フィートを登ることができます。彼らが眠る夜、彼らは2フィート下にスライドします。カタツムリが井戸から出るのに何日かかりますか? 直感的な答えは 30日。カタツムリは1日に1フィートで30日間登り、頂上に到達するため しかし、実際には答えは 28日。カタツムリが空中に27フィート(27日後)になると、残りの3フィートを28日目に単純に登ります。 チャレンジ この挑戦はこの謎を一般化します。合計の高さ、上昇高さ、および下降高さを表す3つの正の整数を入力として指定すると、井戸から上昇するまでにかかる日数を返します。 カタツムリが井戸から登れない場合は、0を返すか、偽の値を返すか、例外をスローします。ソリューションが存在する場合にのみ停止するコードを記述することもできます。 必要に応じて、落下高さを負の整数として取得できます。 テストケース (30、3、2)-> 28 (84、17、15)-> 35 (79、15、9)-> 12 (29、17、4)-> 2 (13、18、8)-> 1 (5、5、10)-> 1 (7、7、7)-> 1 (69、3、8)->なし (81、14、14)->なし 得点 これはcode-golfであるため、各言語で最も短い回答が優先されます。

30
最初の1になる(最初のTruthyのみを残す)
イントロ 毎年、Dyalog Ltd.は学生コンテストを開催しています。そこでの課題は、優れた APLコードを書くことです。これは、今年の8番目の問題の言語に依存しないコードゴルフ版です。 コンテストの元の著者から、このチャレンジをここに投稿する明示的な許可があります。提供されたリンクに従って作成者に連絡することにより、気軽に確認してください。 問題 ブール*リストを指定すると、最初のTruthyの後のすべてのTruthiesを「オフ」にします。 真実はない?問題ない!変更せずにリストを返すだけです。 例 [falsy,truthy,falsy,truthy,falsy,falsy,truthy] → [falsy,truthy,falsy,falsy,falsy,falsy,falsy] [] → [] [falsy,falsy,falsy,falsy] → [falsy,falsy,falsy,falsy] *あなたのすべての真実は同一でなければならず、あなたのすべての偽りは同一でなければなりません。これには出力が含まれます。

30
これは機能ですか?
(key, value)ペアのリストが与えられたら、それが関数を表すかどうか、つまり各キーが一貫した値にマップされるかどうかを判断します。つまり、2つのエントリのキーが等しい場合は、値も同じである必要があります。繰り返し入力しても問題ありません。 例えば: # Not a function: 3 maps to both 1 and 6 [(3,1), (2,5), (3,6)] # Function: It's OK that (3,5) is listed twice, and that both 6 and 4 both map to 4 [(3,5), (3,5), (6,4), (4,4)] 入力:(key, value) 1〜9の数字を使用したペアの順序付きシーケンス。特定の順序付けは不要です。または、キーリストと値リストを別々の入力として使用することもできます。 出力:機能の一貫した値、および機能以外の一貫した値。 テストケース:最初の5つの入力は関数であり、最後の5つの入力は関数ではありません。 [(3, 5), (3, 5), (6, …

30
バーナーディーノは、変更されていないドルの単語を識別する
定義 ドルの単語は、その文字の各= 1からZ = 26、セント値を与えられ、そして文字が合計され、結果は100である単語である。ここでは、コードレビューに一例であり、ここにリストされオンラインで見つけたドルの言葉。 入力 入力はazからアルファベット順になり、1つの言語のテキストデータ型になります(配列は許可されます)。他の入力を考慮する必要はありません-スペース、アポストロフィ、ハイフンはありません。小文字、大文字、または組み合わせとして使用できます。末尾の改行が許可されます。 出力 入力がドルの単語である場合は真実の値を出力し、そうでない場合は偽の値を出力します。 テストケース 真実: buzzy boycott identifies adiabatically ttttt 偽り: zzz zzzzzzz abcdefghiljjjzz tttt basic これはコードゴルフなので、バイト単位の最短回答が勝ちです!標準の抜け穴とルールが適用されます。タイは最初のポスターに行きます。
47 code-golf  string 

15
アタック、ディケイ、サステイン、リリース
サウンドシンセサイザーは、エンベロープジェネレーターを使用して、サウンドの特定のパラメーター(全体的なラウドネスなど)の経時変化を制御します。多くのシンセサイザーでは、Wikipediaの次の図に示すように、エンベロープは4つのパラメーターによって定義されます。 攻撃時間(A):キーが最初に押されたときに、エンベロープがゼロから開始して最大レベルに達するまでにかかった時間。 減衰時間(D):エンベロープが指定された持続レベルに達するまでにかかった時間。 持続レベル(S):最初の攻撃と減衰の後、キーが押されている限り維持されるレベル。 リリース時間(R):キーがリリースされたときにエンベロープがゼロに達するまでにかかった時間。 挑戦 4つのパラメーターA、D、S、Rを入力し、エンベロープをプロットします。 パラメータは0〜127の整数値です。 最大レベル(アタックフェーズの終わりに達した)があると仮定されるであろう127。 サステインレベルの水平セグメントは、持続時間64を持つと想定されます(実際の音では、この持続時間は固定されていませんが、キーが保持されている時間によって決まります)。 フォーマットと詳細 出力は、ラスターまたはベクター形式の画像でなければなりません。ラスタの場合、折れ線は少なくとも50ピクセル、垂直方向および水平方向に占有する必要があります。 画像は、表示するか、標準画像形式のファイルとして作成できます。ファイルはディスクに書き込むことができます。または、正確な内容をSTDERRに出力するか、関数の戻り引数として出力できます。 グラフには、エンベロープを定義する折れ線のみを含める必要があります。各軸のスケールは自由に選択できます。軸線、数値ラベル、線の色などの他の要素はオプションです。 入力手段と形式は通常どおり柔軟です。たとえば、4つの数値を任意の順序で、またはそれらを含む配列を取ることができます。プログラムまたは機能を提供できます。標準的な抜け穴は禁止されています。 バイト単位の最短コードが優先されます。 テストケース 入力の形式はです[A D S R]。スケールは各図で異なることに注意してください(スケールは自由に選択できるというルールに従って) [15 30 70 40] [64 64 64 64] [0 10 50 80] [0 0 90 80] [5 50 0 0] [5 50 0 80] [24 32 127 48]

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