プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

30
1日のすべての時間を30分率でリストする
最短回答が勝ちます。 24時間以内に並べ替える必要があります。最後の行にはコンマがありません。 出力は次のようになります。 '00:00', '00:30', '01:00', '01:30', '02:00', '02:30', '03:00', '03:30', '04:00', '04:30', '05:00', '05:30', '06:00', '06:30', '07:00', '07:30', '08:00', '08:30', '09:00', '09:30', '10:00', '10:30', '11:00', '11:30', '12:00', '12:30', '13:00', '13:30', '14:00', '14:30', '15:00', '15:30', '16:00', '16:30', '17:00', '17:30', '18:00', '18:30', '19:00', '19:30', '20:00', '20:30', '21:00', '21:30', '22:00', '22:30', '23:00', …

7
これらのサイコロは非推移的ですか?
非推移的なサイコロは、確率理論の直感に反する素敵な小さなおもちゃです。この課題にはいくつかの定義が必要です。 同時にスローされる2つのサイコロAとBを考えます。私たちは、と言うAが ビート Bを確率あればAよりも大きな数を示すBは確率よりも厳密に大きいBより大きい数を示すAを。 次に、ラベルA、B、Cを持つ3つのサイコロのセットを考えます。このようなサイコロのセットは、次の場合に非推移的と呼ばれます。 いずれかのAはビートB、BはビートC及びCはビートAを または、CがBをビートし、BがAをビートし、AがCをビートします。 私のお気に入りの例の1つとして、次の側面を持つグライムダイスについて考えてみましょう。 A: 3 3 3 3 3 6 B: 2 2 2 5 5 5 C: 1 4 4 4 4 4 興味深いことに、各ダイスの平均は3.5で、通常のダイスと同じです。 次のことを示すことができます。 AはビートBを 7/12の確率で。 BはビートCを 7/12の確率で。 Cは、ビートAを 25/36の確率で。 今、これらの特定のサイコロはさらに奇妙です。各ダイスを2回振って結果を合計すると、反転するビートの順序は次のようになります。 BはビートAを 144分の85の確率で。 Cは、ビートBを 144分の85の確率で。 AはビートCを 1296分の671の確率で。 このプロパティGrime-nontransitiveでサイコロのセットを呼び出しましょう。 一方、2つのスローを使用するときにサイコロが元のサイクルを保持している場合、それらを非推移的に強く呼び出します。(2つのスローにサイクルがない場合、単に非推移的と呼びます。) チャレンジ 3六面ダイス、このセットは持っている上記の特性の決定、および以下の文字列の出力1を考えます:none、nontransitive、Grime-nontransitive、strongly nontransitive。 プログラムまたは関数を作成し、STDIN、コマンドライン引数、プロンプトまたは関数引数を介して入力を取得し、結果をSTDOUTに書き込むか、文字列として返すことができます。 …

30
シンプルASCIIガント
これは簡単です:ASCII ガントチャートを印刷します。 指定されたタスクの範囲(開始時間-終了時間のタプル)で、-各タスク期間(新しいタスクの各タスク)の文字の形式でガントタイムラインを印刷します。 例 私のタスクの範囲は28->35, 34->40, 39->44であるとすると、ガントは次のようになります。 ------- ------ ----- 仕様書 完全なプログラム、名前付き関数、または匿名関数を作成できます。 プログラム/関数は、STDINを介して、または引数としてタスクを受け入れる必要があります。 各タスクは、start->endwhere startおよびendare Integersの文字列として表される必要があります。タスクはスペースまたはカンマで区切られます。または、整数のタプル、または2つの整数の配列/コレクションとして取得することもできます。(たとえば、JavaScriptでは次のように取得できます[start,end]-これは許可されています)。 負でない数のタスク(引数)をサポートする必要があります。 明確にするために、タスクコレクションの単一の引数は許可されていません。単一の文字列引数を解析するか、0個以上のタスク引数をサポートできます。taskはサイズ2のタプルまたはコレクションです。 有効な入力のみが与えられると想定できます。つまり、各タスクには正の期間があります。 戻り値は重要ではありません。コードはSTDOUTにタイムラインを出力する必要があります。 出力:タスクごとに、startスペースの後に(end-start)ダッシュとaが続き\nます。 言うまでもなく、出力行は入力(タスク)順序に対応して順序付けする必要があります。 \nそれがあなたを助けるなら、前のスペースが許可されます。 テストケース Input: (empty) Output: (empty) Input: 0->7,5->6,3->6 Output: ------- - --- Input: 5->20,5->20,2->10,15->19 Output: --------------- --------------- -------- ---- 勝ち これはcode-golfであるため、最小のコード長(バイト単位)が優先されます。 従来、タイブレーカーは以前の投稿です。 「標準的な抜け穴はもはや面白くない」。 ----- 編集 多くの人が単一のタスクコレクション引数を持つことが許可されていることを理解しており、それと元のvarargs要件の 間には大きな違いがないため、使用しない場合は単一のコレクション引数を持つことが許可されていますvarargsオプション、または言語がvarargsをサポートしていない場合。

7
ゴルフの練習:Python [終了]
これは、Pythonでゴルフの最適化を実践する際の課題です。再利用可能なトリックと、いくつかのキャラクターを削るショートカットです。多くの人がPythonゴルファーに精通しており、Python Tipsからの一般的なアイデアを使用します。これらのいくつかはPython固有の機能を使用しますが、これらは見たことがない限り存在しないと思われるため、立ち往生している場合はヒントをご覧ください。 目標: 10個の問題があり、それぞれが最適化のためのPythonコードの参照スニペットとコードの説明にあります。あなたの目標は、それをより短くなるように書き直すことですが、それでも機能的に同等です。 最小化しようとしているスコアは、すべてのスニペットのコードの合計長です。参照スニペットの長さは150です。Tiebreakerは最初の投稿です。 回答の投稿:各問題について、コードとその文字数を投稿します。短いものが見つからない場合は、参照スニペットを投稿できます。自分の投稿を投稿するときに他人の回答を見ないようにすることを目的としています。個々の文字数を含む個々の問題をネタバレにしてください。合計数を公開したままにすることができます。ソリューションのスポイラーを解除したり、新しいスポイラーのないソリューションを投稿してください。 合法性の詳細:機能的同等性とは、プログラムの動作に影響を与えることなくコードを置換できることを意味します(式の一部としてのメモリ使用量や演算子の優先順位などを無視します)。式は、と同等の値を生成する必要があります==。ことに注意してください1.0==1==True。特に明記しない限り、コードに副作用はありません。問題をバージョン固有のものにするつもりはありませんが、念のため、各問題にPythonバージョンを指定できます。 問題1:リストLに少なくとも7つの要素がある限り、繰り返しを続ける # 16 chars while len(L)>=7: 問題2:2つのフロートxとy両方が正であるかどうかを確認します。 # 11 chars x>0 and y>0 問題3:ブール値bがtrueの場合、の最初の要素を削除しLます。それ以外の場合は、そのままにしておきます。 # 12 chars if b:L=L[1:] 問題4:L数字の空でないリストのすべての要素が等しいかどうかを確認します。この問題については、リストを変更してもかまいません。 # 22 chars all(x==L[0]for x in L) 問題5:既にその番号が含まれている場合にのみn、リストの最後に番号を追加します。LL # 16 chars if n in L:L+=[n] 問題6:フロートの符号を表現するx:+1正の場合0、0の場合-1、負の場合。 # 20 chars abs(x)/x if x else …
31 code-golf  python 

13
ランダムなASCIIアートキルトを描く
この課題では、ASCIIアートキルトは、幅24文字、高さ18行のテキストブロックであり、=-<>/\水平方向と垂直方向に対称なキルトのようなパターンの文字が含まれます。 キルトの例: ======================== ------------------------ //\\//\\\//\/\\///\\//\\ <<><<>>>>><<>><<<<<>><>> /\\/\\\\/\/\/\/\////\//\ ------------------------ /\/////\\///\\\//\\\\\/\ \///\/\/\\\\////\/\/\\\/ \///\/\/\\\\////\/\/\\\/ /\\\/\/\////\\\\/\/\///\ /\\\/\/\////\\\\/\/\///\ \/\\\\\//\\\///\\/////\/ ------------------------ \//\////\/\/\/\/\\\\/\\/ <<><<>>>>><<>><<<<<>><>> \\//\\///\\/\//\\\//\\// ------------------------ ======================== すべてのキルトの形式は同じです: それらは常に24 x 18です。 一番上の行(1行目)と一番下の行(18行目)が最後=です。 2行目、6行目、13行目、および17行目が-すべて横切っています。 ライン4と15が同じランダムで左右対称のパターン<と>。 他のすべての行(3、5、7、8、9、10、11、12、14、16)で満たされている/と\全体のキルトが残るように、完全にランダムな方法で、水平および垂直対称。 キルトを縦または横に正確に半分に折り畳むと、キャラクターの形が正確に一致することに注意してください。キャラクター自体が一致することと混同しないでください。たとえば、ライン3とライン16は同一ではなく、垂直鏡像です。 チャレンジ ランダムなASCIIアートキルトを印刷または返すプログラムまたは関数を作成します。 多くのハードコードされた行と対称性により、実際のランダム性は、行3、4、5、7、8、9の最初の12文字から得られます。 4行目の最初の12文字は、任意の長さの12文字の文字列である必要が<あり>ます。 3行目、5行目、7行目、7行目、8行目、9行目の最初の12文字は、任意の長さの12文字の文字列である必要が/あります\(互いに独立)。 これらのランダムな文字列は、それに応じてミラーリングされ、キルト全体が作成されます。 バイト単位の最短回答が優先されます。Tiebreakerは以前の投稿です。 擬似乱数ジェネレーターを使用できます。(いいえ、あなたがいることを証明する必要はありません、すべての 12のcharの文字列<>や/\、あなたの言語のPRNGで生成することができます。) 出力には、オプションで末尾の改行を含めることができますが、キルトに必要なもの以外に末尾のスペースやその他の文字は含まれません。

7
パックマンのプログラミング
Programmin 'Pac-Man セッティング あなたはパックマンとしてプレイします。ゴーストを避けながら、ペレット、フルーツ、パワーペレットを他の誰よりも早く収集したいと考えています。 ルール すべての有効なパックマンは1つの迷路になります。10ゲーム後に累積スコアが最も高いプレイヤーが勝ちます。 すべてのパックメンが死んだとき、すべてのペレットがなくなったとき、または500ターンが経過したときにゲームオーバー パックマンが死んだ場合、彼はゴーストとしてプレイし続けます パワーペレットを食べると10ターン無敵になり、ゴーストを食べることができます ゴーストを食べると、ゴーストがランダムな場所にテレポートされます 幽霊はパックメン以外は何も食べられず、ポイントも獲得できません パックマンとして次のアイテムを食べると、次のポイントが得られます。 ペレット:10 パワーペレット:50 フルーツ:100 ゴースト:200 迷路 Pac-Men がn個ある場合、Primのアルゴリズムを使用して(サイズの小さい迷路が原因で)サイズの迷路が生成さsqrt(n)*10れ、既存の行き止まりを優先して完全に編組されます。さらに、この編組は端を越えて行うことができるため、上から下へ、および左から右へのいくつかの経路があります。sqrt(n)*10 あるだろう: 2n 幽霊 4n パワーペレット 2n フルーツ n 接続された隣人の正方形が空のスポットのパックメン。 残りのすべての空のスポットはペレットで満たされます したがって、10人のプレイヤーがいる最初のマップは次のようになります(ゴースト=緑、ペレット=アクア、フルーツ=赤、パックマン=黄色): 入出力 ゲームの開始時に、マップのすべての正方形の壁を表す1行のキャラクターが与えられます。左上から始まり、右に移動し、次の行に折り返す各正方形について、壁の状況を表す16進数が与えられます。 0: No walls 1: North wall 2: East wall 3: East & North wall 4: South wall 5: …

5
ワンライン水族館
義理の両親の庭には、pondでいっぱいの養魚池があります。次のコードからの抜粋に気付くまで、それは本当に私の頭をよぎりませんでした。 ',') & '_' ...スクリーンから魚の顔を振り返る... それは私に素晴らしいアイデアを与えました... あなたのための私の探求、私の愛するゴルファーは、次のルールで、1行のASCIIアクアリウムを作成することです。 タンクの側面からタンクの反対側までの水槽のサイズは、60文字以上80文字以下でなければなりません。タンクの側面は、パイプ/バー(|)文字を使用して示す必要があります。 魚は水槽の両側で左から右に「泳ぐ」ことができなければなりません。方向転換するため、一方の方向から他方の方向への移行には正面図が必要です。 魚は次のように見える必要があります。 }}< }} ',') 魚が泳ぐ権利 (',' {{ >{{ 魚が泳いでいる左 }}('_'){{ 正面を向いた魚 魚が方向を変えようとすると(30%の確率)、魚は一方向から始まり、正面を向き、次に反対方向を向く必要があります。魚が向きを変える十分なスペースがあることを確認してください。タンク最小のエッジ... 魚が泡を吹いたり方向を変えたりしない限り、魚が向いている方向に進み、水槽の側面の6つのスペース内に入れば、魚は方向を変えます。 魚(左または右)は​​時々(10%の確率で)泡を止めて連続して泡を吹く.oO*ことができます()サイドの近くで泳ぐだけで、スペースを1つ節約する。魚が進む前に泡が消えなければなりません... -ここでのコード表示機能は少し厳しいので、スペースを示す文字を含む魚の動作の一連の例の行...これをコーディングすると、これらのダッシュがスペースに置き換えられると予想されます... ここの各行は、コマ撮りのフレームと考えることができます。 |-}}< }} ',')----------| |--}}< }} ',')---------| |---}}< }} ',')--------| |----}}< }} ',')-------| |-----}}< }} ',')------| |-----}}< }} ',').-----| |-----}}< }} ',')o-----| |-----}}< }} ',')O-----| |-----}}< …

10
3D:個別のドッグファイティングデュエル(非Javaの提出に対応)
更新: isSuicidal()が飛行機クラスに追加されました。これにより、飛行機が壁との不可逆的な衝突コースにあるかどうかを確認できます!! 更新: simulateMove()から分離されたupdateCoolDown() 更新:Sparrによって書かれた非Javaエントリラッパー、テストに利用可能、コメントを参照 UPDATE Zoveゲームが書いた素晴らしい3Dビジュアライザこのケートのために、ここでくだらないのユーチューブのビデオだ PredictAndAVoidを戦っPredictAndAVoidのは。 PlaneクラスのsimulateMove()関数はわずかに修正されたため、クールダウンが更新されなくなり、撮影後に新しいupdateCoolDown()関数が使用されます。新しいisSuicidal()は、飛行機が死んでしまう場合にtrueを返し、それを使用して敵の動きを取り除き、壁にぶつからないようにします。更新されたコードを取得するには、ControllerクラスとPlaneクラスをgithubリポジトリ内のクラスに置き換えるだけです。 説明 この課題の目標は、別の競技者が2機の飛行機と対決する2機のドッグファイティング機をコーディングすることです。ターンごとに1つのスペースを移動し、撮影する機会があります。それだけです、それはそれと同じくらい簡単です。 よくほとんど... アリーナと可能な動き アリーナは、スペースで囲まれた14x14x14です。競技者1の面は(0,5,0)と(0,8,0)の位置から始まり、競技者2の面は(13,5,13)と(13,8,13)で始まります。すべての飛行機は、最も近い垂直な壁から水平方向に離れることから始まります。 ヘリコプターではなく飛行機を飛ばしているので、自由に方向を変えたり、移動を止めたりすることはできません。したがって、各飛行機には方向があり、毎回その方向に1タイル移動します。 可能な方向は、北(N)、南(S)、東(E)、西(W)、上(U)および下(D)およびこれら6つの任意の論理的組み合わせです。NS軸はx軸に対応し、WEはyに、DUはzに対応します。NW、SU、およびNEDは、方向の可能な例として思い浮かびます。UDは、無効な組み合わせの良い例です。 もちろん、飛行機の方向を変更することはできますが、制限があります。方向は最大で45度しか変更できません。これを視覚化するには、ルービックキューブ(1つあることを知っています)をつかみ、26個の外側の小さなキューブすべてが可能な方向(1文字の方向が面、2文字の方向がエッジ、3文字の方向がコーナー)であると想像してください。小さな立方体で表される方向に向かっている場合は、自分に触れている各立方体の方向を変えることができます(斜めに触れているが、目に見えるように触れているだけで、立方体に触れていない)。 すべてのプレーンがどの方向に変更したいかを示した後、それらを変更し、1つのタイルを同時に移動します。 有効な方向に移動することもできますが、方向を移動先の方向に変更する代わりに、目的の方向に飛行し続けることができます。これは、角を曲がる車と車線を変更する車の違いに似ています。 射撃と死 ラウンドごとに最大1回撃つことができます。これは、飛行する方向を決定すると同時に、飛行機(ひいては銃)を同じ方向に向けるかどうかを決定すると同時に決定する必要があります。弾丸は、飛行機が移動した直後に撃たれます。撮影後、1ターンのクールダウンがあり、3ターン目には、もう一度行くことができます。飛んでいる方向にのみ撃つことができます。弾丸は瞬時に発生し、壁や飛行機に当たるまで一直線に飛びます。 方向を変える方法と「車線を変える」方法を考慮して、これは、斜めの単一線に加えて、あなたの前に最大3x3行の列を脅かすことができることを意味します。 飛行機にぶつかると、この飛行機は死に、ボードからすぐに消えます(完全に爆発するなどの理由で)。弾丸は、せいぜい1機しか攻撃できません。弾丸は同時に撃たれるので、2つの飛行機が互いに撃つことができます。ただし、2つの弾丸は空中で衝突することはありません(悲しいことですが)。 ただし、2つの平面は衝突する可能性があり(同じ立方体になり、同じ平面にならずに互いに交差しない場合)、両方の平面が死ぬ(および完全に爆発する)ことになります。また、問題の飛行機が死に、その行動を考えるために隅に置かれることになります壁に飛ぶことができます。衝突は、撮影前に処理されます。 コントローラーとの通信 私は、javaおよび他の言語のエントリーを受け入れます。エントリがJavaの場合、STDINを介して入力を取得し、STDOUTを介して出力します。 エントリがjavaの場合、.yourエントリは次のクラスを拡張する必要があります。 package Planes; //This is the base class players extend. //It contains the arena size and 4 plane objects representing the planes in the …

22
割り当て時に状態が変化するオブジェクトを作成します
Rubyでこれが可能であることは非常に奇妙です(すぐに言いません)。 obj = #code redacted print obj.state # Some value. LValue = obj print obj.state # Different value! あなたの課題は、おおよそこの形式のコードを作成することです。オブジェクトを作成し、変数に割り当てます。stateオブジェクトを参照するために古い識別子(上記)を使用している場合でも、オブジェクトが新しい識別子(LValue上記)に割り当てられた後に変化する、上記のような定義済み属性(または決定論的、べき等法)が必要ですobj。 強調のための編集:stateまたは同等のものはdem等でなければならないため、値を変更するアクセサーを作成するか、他の理由で連続して複数回呼び出されたときに異なる結果を返すことは有効な解決策ではありません。または、もっと簡単に言うと、状態を変更するのは割り当てでなければなりません。 割り当てられた言語はすべて資格がありますが、おそらく完全に正当な解決策がない場合もあります。数日後に誰も回答しない場合は、Rubyの回答を投稿し、最高の投票による回答をローリングベースで受け入れます。

23
「シェーレン」ゲームのポイントを計算する
さて、昨日はクリスマスの2日目で、私の(グランド)両親と私はオランダで呼ばれているように「シェーレン」の試合をしました。内側のプログラマーが私の中に現れましたが、答えがあったとき、私はそれを失いました。リメイクしてほしい。 ルール: 4箱の木製の板sjoelbakがあり、それぞれに番号が付いています。ときschijf(パックのようなオブジェクト)はボックスのいずれかに行くあなたは、そのボックスの上にポイントを取得します。 4つのボックスすべてにschijf がある場合、10は得られませんが、20ポイントが得られます。 例: 左から右へ:3 5 4 3 各ボックスには少なくとも3 個のschijven(schijfの複数形)があるため、20 * 3 = 60ポイントです。 結果値:0 2 1 0 0 * 2 + 2 * 3 + 1 * 4 + 0 * 1 = 10ポイント。 合計で60 + 10 = 70ポイントになります。 入力:左から右へ のschijvenの量、つまり「4 5 4 5」、「4,5、4,5」、「4 \ n5 \ …

22
アスキーアートのゴルフ
ゴルフをしている男性を代表するこのアスキーアートをゴルフしてみましょう。 '\。。|> 18 >> \ 」| O >>。'o | \ | / \。| / /。 ' | jgs ^^^^^^^ `^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ 出典:JGS- http : //www.retrojunkie.com/asciiart/sports/golf.htm ルール: 入力不可 外部リソースは許可されていません 出力は、先頭および末尾の改行を含む等幅フォント(OSコンソール、JSコンソール、HTML <pre>タグなど)で表示されたこのテキストでなければなりません。 引用符または二重引用符を囲むことができます(文字列を出力するとき、JSコンソールは二重引用符を追加します、これは大丈夫です) 最良の答えは、どの言語でも少ない文字を使用することです。 楽しむ!

4
線を使用して画像を再現する
トゥルーカラーRGBイメージI、描画する最大行数L、および各行の最小mおよび最大Mの長さを取り込むプログラムを作成します。出力画像Oのようなできるだけ見えるとIとを用いて描画さLの間のユークリッド長有する全てがまたはより少ない直線、MおよびMを。 各ラインは単色で、Oの境界内に両方の端点があり、Bresenhamのラインアルゴリズムを使用して描画されている必要があります(ほとんどのグラフィックライブラリは既に対応しています)。個々の線の太さは1ピクセルのみです。 長さ0の行も含め、すべての行は少なくとも1ピクセルを占める必要があります。線は互いに重ねて描画できます。 線を描画する前に、Oの背景を任意の単色に初期化できます(Iに依存する場合があります)。 詳細 OはIと同じ次元である必要があります。 Lは常に非負の整数です。Iの面積よりも大きい場合があります。 mおよびMは、M > = mの非負の浮動小数点数です。2つのピクセル間の距離は、それらの中心間のユークリッド距離です。この距離がm未満またはMより大きい場合、これらのピクセル間の線は許可されません。 ラインはアンチエイリアス処理されるべきではありません。 不透明度とアルファは使用しないでください。 あなたのプログラムは、100万ピクセル未満でLが10,000未満の画像で、最新のコンピューターで実行するのに1時間以上かかることはありません。 テスト画像 もちろん、最も正確または興味深い出力画像を表示する必要があります(LがIのピクセル数の5%から25%の間であり、mおよびMが対角サイズの約10分の1である場合に発生します)。 ここにいくつかのテスト画像があります(オリジナルをクリックしてください)。また、自分で投稿することもできます。 よりシンプルな画像: これは人気コンテストです。最も投票数の多い提出が勝ちです。 ノート 絶対値と同様に、Iの合計ピクセルの割合からLを導出すると役立つ場合があります。例えば、同じことだろうかの8×8画素の画像でした。mとMについても同様のことができます。これは必須ではありません。>>> imageliner I=img.png L=50% m=10 M=20>>> imageliner I=img.png L=32 m=10 M=20img.png 行は境界を越えることができないため、可能な最長の行はIの対角線の長さです。持つMをこれ以上のことは何もかかわらを壊すべきではありません。 当然、mが0で、LがIのピクセル数以上の場合、各ピクセル位置に長さ0の「ライン」を持たせることで、OはIと同じになります。この動作は必須ではありません。 間違いなく、Iの形を再現することは、色を再現することよりも重要です。エッジ検出を検討することもできます。

8
コードゴルフ:カウント諸島
このstackoverflowの質問に触発されたシンプルなコンテスト: 衛星で撮影された表面の画像.が表示され*ます。画像はビットマップで、水は「」でマークされ、土地は「」でマークされています。隣接する ' *のグループは島を形成します。(2つの ' *'は、隣同士が水平、垂直、または斜めの場合に隣接しています)。あなたの仕事は、ビットマップの島の数を印刷することです。 シングル*もアイランドとしてカウントされます。 サンプル入力: .........** **......*** ........... ...*....... *........*. *.........* サンプル出力: 5 勝者は、コード内の最小バイト数のエントリです。
31 code-golf 

18
再帰的な頭字語
目的 ウィキペディアから: 再帰的な頭字語は、それが意味する表現で自分自身を指す頭字語です。 あなたの目標は、文字列が再帰的な頭字語であるかどうかを確認することです。 頭字語は最初の言葉です 単語は大文字と小文字を区別せず、単一のスペースで区切られます。 指定された文字列には、句読点やアポストロフィが含まれていません。 各単語の最初の文字のみが頭字語の一部になります。 関数の単語も指定する必要があります。簡単にするために、すべての単語を機能単語と見なすことができます。 例 f("RPM Package Manager") => { true, [] } f("Wine is not an emulator") => { true, ["an"] } f("GNU is not Unix") => { true, ["is"] } f("Golf is not an acronym") => { false } f("X is a valid …
31 code-golf 

30
キャラクタークロス
私はPCGでの最初のパズルとしてもっと複雑なものを投稿することを期待していましたが、特定の、ええと... スタックオーバーフローに関する宿題の質問が私にこの投稿を促しました。彼らはしたい: 奇数の文字を含む任意の単語に対して次のパターンを印刷します。 P M R A O R G O R R A P M C ++ 文字は、印刷する必要のあるパターンでの騎士の動きです。したがって、他のすべての列は空です。-(これを指摘してくれたxnorに感謝します。) ルール C ++の使用は禁止されています。私はそこにこの質問をリンクするかもしれませんので。 あなたは使用することができstdout、またはすぐに文字列(例えば出力のいずれかの手段alert()JavaScriptでの)。 いつものように、最短のコードが優先されます。

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