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

コードチャレンジは、他のスコアリングタグ(コードゴルフなど)ではカバーされない客観的な勝ち基準でプログラミングパズルを解くクリエイティブな方法の競争です。

11
フルーツ袋詰め工場
あなたの使命は、コンベヤーベルトから袋に果物を詰めて小売業者に送ることを最適化し、最大数の袋を最適化できるアルゴリズム(プログラムまたは機能)を構築することです。 各バッグには少なくとも一定量の重量が必要ですが、その重量を使用して別のバッグを満たすことができるため、超過分は利益を失います。袋詰め機は常にnキューからの果物を先読みしnており、処理中の(単一の)袋にこれらの果物のいずれかを追加することのみを選択できます。nキューの最初の要素を超えて見ることはできません。プログラムは、バッグの中にすでにある重量を常に正確に知っています。 これを視覚化するもう1つの方法はn、新しい果物が到着する前に果物を採取する必要がある場所に、最終的なサイズの積載エリアを備えたコンベアベルトを用意することです。最後に残った果物と満杯でない袋は廃棄されます。 入力 キュー内の果物の重量のリスト/配列(正の整数) バッグの最小総重量(正の整数) 先読みn(正の整数) 出力 アルゴリズムは、すべてのバッグについて、その中の果物の重さを返す必要があります。それは、あなたやあなたの言語にとって便利な手段であれば、その標準入力でも戻り値でもなんでもです。プログラムを実行して、コンピューターで1分でスコアを計算できるはずです。 例 Total weight 1000, lookahead of 3 and fruit queue: [171,163,172,196,156,175,162,176,155,182,189,142,161,160,152,162,174,172,191,185] One possible output (indented to show how the lookahead affects the bagging): [171,163,172, 156,175, 176] [162, 155,182,189, 161,160] [152,162,174,172,191,185] 得点 アルゴリズムは、私が用意した10000個のオレンジのバッチで、両端を含む2〜7の先読みで6回実行してテストされます。少なくとも1000ユニットの袋に詰めてください。オレンジは通常、平均重量170、標準偏差13で分布しています。 スコアは、6回の実行からのバッグの数の合計になります。最高のスコアが勝ちます。標準の抜け穴は許可されていません。 Haskellの簡単な実装例とテストスイートの定型文

6
転置と対角
この課題では、特定の正方行列の対角線を出力するプログラムまたは関数を作成する必要があります。ただし、ソリューションのソースコードの行と列を転置する場合は、代わりに、マトリックスの対角線を返すプログラムまたは関数になります。詳細をお読みください... ルール ソリューションのソースコードは、選択した標準の改行(ラインフィード、キャリッジリターン、または両方の組み合わせ)で区切られた文字の2Dグリッドと見なされます。 ソースコードの行は、前の行より長くなることはありません。有効なレイアウトの例を次に示します。 ### ### ### ######## ####### ### ### # そして、無効なレイアウトの例を次に示します(3行目は2行目より長いため)。 ###### #### ##### ### 2つのソリューションは互いに転置する必要があります。つまり、行と列を交換することで一方から他方を取得する必要があります。有効なペアは次の2つです。 abc def ghi adg beh cfi そして print 10 (~^_^)~ foo bar ! p(fb! r~oa i^or n_ t^ ) 1~ 0 スペースは他の文字と同様に扱われることに注意してください。特に、末尾のスペースは、転置の末尾のスペースではない可能性があるため重要です。 各ソリューションは、入力として1桁の整数の空でない正方行列を取るプログラムまたは関数でなければなりません。1つのソリューションは、マトリックスのすべての対角線のリストを出力し、もう1つのソリューションは、すべての対角線のリストを出力する必要があります。合理的で明確な入力および出力形式を使用できますが、2つのソリューション間で同一である必要があります(これは、両方の機能または両方のプログラムでなければならないことも意味します)。 各対角線は左上から右下に向かって走り、上から下に並べられます。 各対角線は左下から右上に向かって走り、上から下に順番に並べる必要があります。 得点 可能な限り「正方形」のソリューションを推奨するために、プライマリスコアは、ソリューションの行数または列数のいずれか大きい方です。少ないほど良い。関係は、改行をカウントせずに、ソリューション内の文字数によって分割されます。繰り返しますが、少ないほど良いです。例: abcd efg h これとその転置のプライマリスコアは4(列が4つあるため)、タイブレークスコアは8(改行文字以外が8つあるため)です。回答のヘッダーにある両方の値を引用してください。 テストケース …

3
人生がレモンを与えたら、レモネードを作りなさい
チャレンジ あなたはどこにでも単語が、入力文字列が与えられます"Lemon"、それはに変換する必要が発見され"Lemonade" たがa、d、およびe文のどこかから借りなければなりません。 例 入力例: 子供の頃にレモンを見つけました 出力例: 私は子供の頃レモネードを作りました レモネードは、元から次の上付き文字を盗んで作成されました 私はフン日間レモネードWH 電子を nは私がいた子供 これは、「e」、「d」、および「a」という可能な出力例の1つにすぎません。これはどこからでも取得できます(もちろん、単語以外はlemon) コメント •、、またはsが十分eでない場合は、指定された文字で実行可能なことを出力する必要があります。たとえば、入力は出力されますadbdblemonbblemond • lemonテキストは常にスタンドアロン(各側のスペース)であるとは限りません。たとえばlemons、入力のどこかに単語があり、出力は次のようになります。lemonades •入力にはlemon、0であっても任意の数のsを含めることができますlemon(この場合、出力は入力と同一になります)。 •レモネードを大文字と小文字で作成できます。たとえば、にleMonなる可能性がleMonadeあり、ade借りたものはどのような場合でも可能です(したがって、になる可能性もありますleMonADe)。あなたが借りた手紙のケースは、あなたがそれを借りたときの状態のままでなければなりません。(入力例->出力、he hAD lemOn-> h h lemOnADe) •完全なプログラムである必要はありません。機能だけで十分です。 •入力はCP437文字セットのみであると仮定できます。 コードゴルフ これはcode-golfであるため、バイト数が最も少なくなります! 擬似テストケース *注意:特定の入力に対して複数の出力が存在する可能性があるため、プログラムはこれらのテストケースのように正確に出力されない場合があります。これは、人々がロジックを理解できるようにするためです。 入力:EpaD leMons 出力:p LeMonaDEs 入力:hello world 出力:hello world 入力:レモンレモン 出力:レモンレモン *( 、、 文字は別の「レモン」から取られてはいけません)ead 入力:HE HADレモネード 出力:HH lemonADEade 入力:あなたはレモンが好きですか?あなたはレモンで私を苦しめました! 出力:o lemonADesが好きですか?あなたはレモネードを盛り上げました! …
21 code-golf  string  code-golf  parsing  internet  stack-exchange-api  code-challenge  kolmogorov-complexity  restricted-source  brain-flak  python  logic  pyth  code-golf  string  search  optimized-output  code-golf  tips  language-design  golfing-language  code-golf  tips  language-design  code-golf  number  sorting  pi  code-golf  math  number  code-golf  string  balanced-string  classification  brain-flak  code-golf  math  number-theory  decision-problem  code-golf  tips  code-golf  number  sequence  code-golf  balanced-string  brain-flak  code-golf  math  sequence  arithmetic  fibonacci  code-golf  math  parsing  code-golf  string  keyboard  code-golf  code-golf  string  source-layout  whitespace  code-golf  math  rational-numbers  code-golf  string  code-golf  string  code-golf  math  sequence  code-golf  number  floating-point  code-golf  string  decision-problem  subsequence  code-golf  string  kolmogorov-complexity  code-golf  string  permutations  balanced-string  brain-flak  code-golf  string  math  number  code-golf  string  primes  cipher  code-golf  string  ascii-art  chemistry  code-golf  ascii-art  grid  counting  code-golf  math  arithmetic  integer  code-golf  number  kolmogorov-complexity  code-golf  ascii-art  kolmogorov-complexity  sequence  metagolf  brain-flak  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  whitespace 

3
原子プロポーションのゲーム
あなたのタスクはAtomasをプレイするボットを作成し、最高スコアを獲得します。 ゲームの仕組み: ゲームボードは、6つの「原子」のリングから始まります。 1します3。原子自体に応じて、2つの原子間または別の原子上で原子を「再生」できます。 通常のアトムまたは特別なアトムを使用できます。 通常の原子: ボード上の任意の2つの利用可能な原子の間で通常の原子を再生できます。 範囲内の原子から始めます1 to 3が、範囲は40移動ごとに1ずつ増加します(したがって、40移動後に範囲は2 to 4)。 ボード上に範囲よりも低い原子がある場合1 / no. of atoms of that number on the board、スポーンする可能性があります。 2プレイする必要があるとしましょう。ボードは次のようになります。 1 1 2 1 2の右側に配置しましょう1。 ボードは次のようになります。 1 1 2 1 2 注:ボードは折り返されているので、1左端は実際には2右端のます。これは後で重要になります。 「特別な」アトムには4つのタイプがあり、それらは次のとおりです。 の +アトム: このアトムは、2つのアトム間で再生されます。産卵の確率は5分の1です。 原子の両側の+原子が同じ場合、融合が発生します。仕組みは次のとおりです。 The two atoms fuse together to create an atom …
21 code-challenge  game  code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

2
Lossy ASCIIアート圧縮
バックグラウンド PICASCIIは、画像をASCIIアートに変換するきちんとしたツールです。 次の10個のASCII文字を使用して、さまざまな明るさを実現します。 @#+';:,.` これらの文字(文字要素)の明るさは1(アットマーク)から10(スペース)までです。 以下に、正しいフォントで表示された小さなコード、ウェールズの旗、オーバーハンドフラクタル、大きなマス、小さなゴルフの変換結果を示します。 このフィドルの画像を表示して、Googleドライブからダウンロードできます。 仕事 PICASCIIの最終結果は視覚的には満足のいくものですが、合計5つの画像の重量は153,559バイトです。品質の一部を犠牲にする場合、これらの画像をどれだけ圧縮できますか? あなたの仕事は、上記のようなASCIIアートイメージと最低品質を入力として受け入れ、完全なプログラムまたは単一の文字列を返す関数の形式で、イメージの非可逆圧縮を印刷するプログラムを作成することです。品質要件。 これは、別個の解凍プログラムを作成できないことを意味します。各圧縮イメージに組み込まれている必要があります。 元の画像は、1〜10の明るさの文字で構成され、同じ長さの行に改行で区切られます。圧縮されたイメージは同じサイズで、同じ文字セットを使用する必要があります。 n個の charxelsで構成される非圧縮画像の場合、画像の圧縮バージョンの品質は次のように定義されます。 ここで、cは私の輝度であるI 番目の圧縮された画像の出力のcharxel及びU Iの輝度I 番目の非圧縮の画像のcharxel。 得点 コードは、入力として上記の5つの画像を使用して実行され、各画像の最小品質設定は0.50、0.60、0.70、0.80、0.90です。 スコアは、すべての圧縮画像のサイズの幾何平均です。つまり、25個すべての圧縮画像の長さの積の25番目のルートです。 最低スコアが勝ちます! 追加のルール コードは、スコアリングに使用される画像だけでなく、任意の画像に対して機能する必要があります。 テストケースに向けてコードを最適化することが期待されますが、任意の画像を圧縮しようとさえしないプログラムは、私から賛成を得ることはありません。 コンプレッサーは、組み込みのバイトストリームコンプレッサー(gzipなど)を使用する場合がありますが、圧縮イメージ用に自分で実装する必要があります。 通常、バイトストリームデコンプレッサ(ベース変換、ランレングスデコードなど)で使用されるブリットインが許可されます。 圧縮プログラムと圧縮イメージは同じ言語である必要はありません。 ただし、すべての圧縮画像に対して単一の言語を選択する必要があります。 各圧縮画像には、標準コードのゴルフ規則が適用されます。 検証 CJamスクリプトを作成して、すべての品質要件を簡単に検証し、提出のスコアを計算しました。 Javaインタープリターは、こちらまたはこちらからダウンロードできます。 e# URLs of the uncompressed images. e# "%s" will get replaced by 1, 2, 3, 4, 5. …

3
フランス語で男性名詞と女性名詞を100文字以内で区別する
100文字以内の非常に小さなプログラムを作成します。プログラムは、男性と女性のフランス語の名詞を区別する必要があります。出力unは、男性的なものでありune、女性的なものでなければなりません。多くの場合、従うことができる特定の統計ルールがあります(たとえば、「e」で終わる場合は、男性より女性的である可能性が高い)。 入力: フランス語の単語。小文字のアクセントと小文字を含むダッシュとダッシュで構成されます。 入力例: ami 出力: un単語が男性的でありune、単語が女性的である場合。 出力例: un すべての単語を正しくする必要はありません。あなたの目標は、可能な限り正確であることです。 得点:あなたの答えは 100文字以内でなければなりません。以下のようなステートメントprintやconsole.logかではalertないではない、あなたの総バイト数の一部としてカウントされます。このタスクを実行する関数またはメソッドを作成することもできます。その場合f=x=>、関数宣言の一部である最初の数バイト(例:)は合計には含まれません。合計スコアは、不正解の数です。ネクタイはコードサイズによって壊れます。 テストする名詞: un ami un café un chapeau un concert un crayon un garage un garçon un lit un livre un mari un musée un oncle un ordinateur un pantalon un piano un pique-nique un portable un père un …

1
ホラー映画検索パーティー
プロット:ジミーがいない 私たちは彼を見つけなければなりません。分割する必要があります。 プロットのねじれ:ジミーはすでに死んでいます。 しかし、私たちのキャストはそれを知らないので、とにかくエリア全体を検索する必要があります。N列x M行(1 <= M、N <= 256)のセルグリッドがあり、開始点 "。"に対して "S"としてマークされています。オープンスペースの場合、または障害物の場合は「#」。これが地図です。 0 <= p <= 26 コスタル、0 <= q <= 26 エキストラ、1 つ星があります。最初は全員がSとマークされたセルにいます。 ルール 各人の視界半径は次のとおりです。 ... ..... ..@.. ..... ... 星は「@」で示され、共演者は「A」で始まる大文字で、余りは「a」で始まる小文字で示されます。最初に、開始点を囲む視界半径はすでに検索済みとしてマークされています。これがマップのオープンスペース全体を構成する場合、ゲームは終了します。次の順序で各ターン: 各人が同時にキングを動かします(静止するか、8つの隣接するセルのいずれかに移動します)。 各人の視界内のすべてのセルが検索対象としてカウントされます。 共演者が他の人を見ることができない場合、彼女は死にます。エキストラが共演者、スター、または少なくとも2つの他のエキストラを見ることができない場合、彼は死にます。これらは同時に起こります。つまり、1ターンでの死の連鎖反応はあり得ません。上記の条件がチェックされ、死にかけようとしている人は全員死にます。 マップ上のすべてのオープンスペースが検索された場合、検索は終了します。 ノート 複数の人がいつでも同じ広場にいることができ、これらの人はお互いを見ることができます。 障害物は視界を妨げることはなく、動きのみを妨げます。人々は、溶岩を越えてお互いを見ることができます...溶岩? マップ上のオープンスペースは、キングムーブによって接続されることが保証されています。 また、最初の「S」は障害物ではなく、オープンスペースと見なされます。 オープンスペースに着地するキングムーブは有効です。たとえば、次の動きは合法です: .... .... .@#. ---> ..#. .#.. .#@. .... .... …

6
最大の壊れやすい素数を見つける
positionの数字から始まる数字から数字Remove(n, startIndex, count)を削除する関数を考えます。例:countnstartIndex Remove(1234, 1, 1) = 234 Remove(123456, 2, 3) = 156 Remove(1507, 1, 2) = 07 = 7 Remove(1234, 1, 4) = 0 可能なすべてのRemove操作が素数でない場合、素数Xを脆弱と呼びます。たとえば、80651は脆弱な素数です。これは、次の数値がすべて素数ではないためです。 651, 51, 1, 0, 8651, 851, 81, 8, 8051, 801, 80, 8061, 806, 8065 ゴール 最大の壊れやすい素数を見つけるプログラムを作成します。編集:比較的公正な方法で回避できるため、時間制限を削除しました。 スコアは、プログラムで見つかった脆弱な素数です。同点の場合、以前の提出が優先されます。 ルール 任意の言語およびサードパーティライブラリを使用できます。 自分のハードウェアでプログラムを実行します。 確率的素数テストを使用できます。 すべてがベース10にあります。 主要なエントリー Qualtaghによる6629桁(Java) …

3
星条旗のコードチャレンジ
アメリカ合衆国の旗には、カントンに50の州を表す50の星が含まれています。 過去には、州の数が少なかったとき、もちろん星の数も少なく、それらの配置も異なっていました。たとえば、1912-1959年(ニューメキシコとアリゾナの入国後、アラスカの前)からは、6×8の長方形に48個の星がありました。 1867-1877年から使用された37星旗(ネブラスカ州の入場後、コロラド州の前)には、非対称の星の模様がありました。 将来51番目の州が追加される場合、ヘラルドリー陸軍研究所はすでに新しい旗の予備設計を開発しています。 しかし、星を配置するための一般的なアルゴリズムはないので、作ってみましょう! チャレンジ 所定の数の星が米国旗のカントン(青い部分)に配置されるように、それらの星を配置する最適な座標を出力するプログラムを作成します。 座標系は、カントン【で定義されていない 0≤x≤Wと0≤y≤Hと全体としてフラグ]。 この課題の目的のために、「最適な」配置は、カントン内のポイントと最も近い星の中心との間の平均(ユークリッド)距離を最小化するものとして定義されます。 この値を近似するための簡単な(最適でない場合があります)アルゴリズムは次のとおりです。 def mean_distance_to_nearest_star(stars, width, height, point_density=100): """ Approximate the mean distance between a point in the rectangle 0 < x < width and 0 < y < height, and the nearest point in stars. stars -- list of (x, y) …

6
ハノイの塔
ハノイの塔スタイルの整数のリストをソートする関数/サブルーチンを記述します。 整数のスタックが与えられます。これがメインスタックです。 また、さらに2つのヘルパースタックが提供されます。ただし、これらのヘルパースタックには固有のプロパティがあります。すべての要素は、その下の要素よりも小さいか、同じサイズでなければなりません。メインスタックにはこのような制限はありません。 メインスタックを所定の位置に並べ替え、最大の整数をその下に配置する必要があります。関数/サブルーチンは、スタックのソートで行われた移動の数(または同等の)を返します。 注:メインスタックを所定の場所に並べ替える必要があります。別のスタックに並べ替えて、その答えを呼び出す必要はありません。ただし、何らかの理由でそうできない場合は、可変スタックをシミュレートできますが、これはハノイの塔の並べ替えであることに注意してください。ペグは3つのみで、順序付けられていないペグは1つだけです。 関数/サブルーチンはいつでもスタックを検査できますが、ポップとプッシュによってのみ移動できます。シングルムーブとは、あるスタックから別のスタックにプッシュされるポップです。 最初の6つの自然数の順列ごとに関数/サブルーチンをテストします。言い換えれば、関数/サブルーチンをテストします{1},{2},...,{6},{1,1},{1,2},...,{1,6},{2,1},...(これは合計または可能性があるはずです(数学を修正してくれたハワードに感謝します))。要素を最小の回数だけ移動する関数/サブルーチンが勝ちます。61+62+...+6655986

6
最短のコードを使用してマトリックスデジタルレインを作成する[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 閉じた3年前。 ルール: 選択した言語(標準ライブラリ)。 ターミナルまたはWindowsコマンドプロセッサ、またはその他の方法で表示される出力。(幅バッファ= 80) ASCII文字で十分です。(Unicodeを追加できます) 起動時に画面全体を埋めてはいけません(雨のように見えるはずです!)。 色はボーナスポイント(+5)を獲得します。 効果:ランダムなキャラクター、さまざまな落下サイズ、定期的に再生します。 ポイント:(更新) +32ポイントから始めます。 ** 1024 *** th *バイトの後のコード内のすべてのバイト(charsではない)に対して-1ポイント。 ポイントはゼロおよびマイナスに達する可能性があります。 注:マルチバイト文字を使用する言語は、文字ではなくバイトをカウントする必要があります。 新しいエフェクトごとに+5。(他の人によって投稿されていない) これらの効果のいずれかで+15: 風(キャラクターを横に吹く) Number Matching(ユーザー入力、例:90210): 数値はマトリックス内でランダムに配置されます 音 Encrypted msg(user input): 文字は、暗号化された秘密のメッセージを表します ガラガモード: キャラクターを破壊するために^を発射 スコアボード: ┌-----┬------------┬------------┬-------------┬---------------┬--------------┐ | pos | name | type | bytes | effects …

7
解釈> <>(魚)
&gt; &lt;&gt;は人気のある言語ではありませんが、ゴルフに適している可能性があり、このWebサイトで使用されています。Befungeに触発され、その指示にいくつかの類似点があります。 必要なコマンド: &gt; &lt; ^ v 指示ポインターの方向を変更します(右、左、上、下) / \ | _ # ミラー。ポインターは、すでに持っている方向に応じて方向を変えます。 x ランダムな方向。 + - * , % それぞれ、加算、減算、乗算、除算、モジュロ。AとBをスタックからポップし、B演算子Aをプッシュします。0で除算するとエラーが発生します。 0-9 a-f 対応する値をスタックにプッシュします。a = 10、...、f = 15 = スタックからAとBをポップし、B = Aの場合は1をプッシュし、そうでない場合は0をプッシュします。 ) より大きい。AとBをスタックからポップし、B &lt;A ( より小さい場合は1をプッシュします。AとBをスタックからポップし、B&gt; Aの場合は1をプッシュし ' " ます。文字列解析を有効にします。文字列解析は、閉じ引用符が見つかるまで、見つかったすべての文字をスタックにプッシュします。 ! 次の命令をスキップします。 ? スタックのトップがゼロの場合、またはスタックが空の場合、次の命令をスキップします。(注:これはスタックから何もポップしません!)スタック : の一番上の値を複製します。 ~ スタックから一番上の値を削除します。 …

9
遅延リストを、できればよく知らない言語で実装してください[非公開]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 閉じた3年前。 これは、あなたが学習するつもりだったプログラミング言語をより流に習得するための良い演習ですが、ほんの少しだけいじっています。これには、オブジェクトの操作、クロージャーの使用またはシミュレーション、型システムの拡張が含まれます。 あなたのタスクは、遅延リストを管理するコードを記述し、それを使用してフィボナッチ数を生成するためのこのアルゴリズムを実装することです。 コードサンプルはHaskellにあります let fibs = 0 : 1 : zipWith (+) fibs (tail fibs) in take 40 fibs 結果: [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986] 遅延リストの実装は、次のガイドラインを満たす必要があります。 リストノードは、次の3つのいずれかです。 Nil-空のリスト。 [] 短所-単一のアイテム、残りの項目のリストとペア: 1 : [2,3,4,5] (: Haskellの短所演算子です) サンク-必要なときにListノードを生成する遅延計算。 次の操作をサポートしています。 nil-空のリストを作成します。 cons-コンスセルを構築します。 thunk-引数を取らず、NilまたはConsを返す関数を指定して、Thunkを構築します。 force-リストノードが与えられた場合: NilまたはConsの場合は、単にそれを返します。 サンクの場合、その関数を呼び出してNilまたはConsを取得します。サンクをそのNilまたはConsに置き換えて返します。 注:サンクを強制値に置き換えることは、「遅延」の定義の重要な部分です。このステップをスキップすると、上記のフィボナッチアルゴリズムは非常に遅くなります。 empty-ListノードがNilかどうかを確認します(強制した後)。 head(別名「車」)-リストの最初の項目を取得します(またはNilの場合は適合をスローします)。 …

2
手がかりのないユニークに解けるクロスワードを作成します…
ニューヨークタイムズのクロスワードパズルを手がかりなく解くことを想像できますか?おそらく、すべての創造性と新しいクロスワードに登場する新しい単語やフレーズではなく、単語リストを固定することでいくつかの希望があります。この課題では、理論上可能なクロスワードパズルグリッドを作成します。 チャレンジ 白と黒の陰影の付いた15x15クロスワードパズルグリッド内の白い四角の数を最大化して、白い四角に文字を一意に入力して、スクラブルの国際的な単語リストにすべての上下の単語が表示されるようにします。 グリッド構築の説明 米国の新聞では、クロスワードグリッドは通常、すべての文字が「チェック」されるように構築されます。つまり、「クロス」ワードと「ダウン」ワードの両方の一部です。英国およびその他の地域(特に不可解なクロスワード)では、これは必ずしも当てはまりません。「横切る」または「下」の単語が1文字だけの場合、実際の単語(「A」や「I ")。この課題では、より緩和されたルールに従います。1文字の単語は単語リストに表示する必要はありません。 他にもさまざまな伝統があり(米国およびその他の地域)、この挑戦​​で従う必要はありません。たとえば、単語の長さは2文字のみで、単語の繰り返しが許可されているため、グリッドは(回転)対称である必要はありません。 これも可能ですか? はい!短いスクリプトを記述して、左側の次の空白グリッドに対する一意のソリューションが右側の塗りつぶされたグリッドであることを確認できます。 次のように、コンピュータが読み取り可能な形式で塗りつぶされたグリッドを表示できます。 ###CH########## ###YE########## ###AM########## CYANOCOBALAMINE HEMOCHROMATOSES ###CH########## ###OR########## ###BO########## ###AM########## ###LA########## ###AT########## ###MO########## ###IS########## ###NE########## ###ES########## あなたのソリューション 上のグリッドには、15x15グリッドの合計225個の正方形のうち56個の白い正方形があります。これは、この課題のベースラインとして機能します。また、白い正方形の数が少ないグリッドは、スコア以外の理由で、たとえば上記の美的伝統のいくつかを満たしている場合に興味深いかもしれません。 上記のコンピューター読み取り可能なベースラインと同じ形式でソリューションを送信してください。グリッドに独自のソリューションがあることを確認するコードを含めてください。 興味深いコードスニペット(たとえば、可能性のあるスペースを検索するため)や、グリッドを見つけた方法についての議論を歓迎します。 単語リスト 国際的なスクラブルワードリストは、以前はSOWPODSとして知られており、現在はコリンズスクラブルワード(CSW)と呼ばれています。ほとんどの国(特に米国を除く)で使用されています。このリストには、英国の綴りが含まれており、一般的にアメリカの単語リストよりもかなり多くの単語があるため、このリストを使用することを好みます。このリストには、わずかに異なる複数のエディションがあります。このリストのさまざまなバージョンは、Wikipedia、Github、Peter NorvigのNatural Language Corpusなどでリンクされており、多くの場合「SOWPODS」と呼ばれています。 この課題は、単語リストの選択の幅広い性質に非常に敏感ですが、小さな詳細にはそれほど敏感ではありません。たとえば、上記のベースラインの例はどのエディションのCSWでも機能しますCHが、アメリカのスクラブルの単語リストには含まれていません。矛盾がある場合は、CSWの最新版であるCSW19を使用することをお勧めします。(今年リリースされたこのリストを使用すると、この課題に対する回答がより長く有効であると期待できます)。このリストは、公式のScrabbleワードファインダーサイトで対話形式でクエリするか、Board&Card Games Stack ExchangeまたはRedditのr / scrabbleから(前のバージョンのCSW15と同様に)ダウンロードできます。 Tldr:このチャレンジの信頼できる単語リストは、Board&Card Games Stack Exchangeでプレーンテキストファイル(279,496単語、1行に1つ)として入手できます。 さらなる議論 初期の回答とコメントで提起された問題の1つは、既存のクロスワード(NYTなど)がこの質問に答えない理由です。具体的には、公開されたNYTクロスワードの最小数の黒い正方形(したがって、最大数の白い正方形)のレコードは、クロスワードで最も有名なレコードです。レコードグリッドを使用できないのはなぜですか?いくつかの問題があります。 NYTクロスワードの回答の多くは、単語リストに載っていません。たとえば、レコードグリッドには、PEPCID(ブランド名)、APASSAGETOINDIA(スペースなしで記述された映画と小説の4単語の固有名)、およびSTE(「Sainte」の略語)が含まれます。レコードグリッドはスクラブルの単語では解決できないようです。 単語リストを拡張して単語を追加するだけでは、必ずしもこの課題に役立ちません。レコードグリッド内のすべての単語が単語リストに表示されたとしても、解決策は手がかりがないと一意ではありません。多くの場合、すべての単語を保持しながら、回答の最後にある文字を変更することが可能です。(たとえば、右下の文字はa DからR。に変更できます。)実際、これは、クロスワードを作成して「より良い」単語を取得しようとする(人間の)構築プロセスの一部です。 通常のクロスワードが(通常)独自の解決策を持っている理由は、手がかりが正しい答えを絞り込むのに役立つからです。手がかりを使わずに単にグリッドを単語で埋めようとすると、可能性がないか、多くの可能性がある可能性があります。同じグリッド(NYTで比較的頻繁に使用されるもの)の3つの異なる塗りつぶし(このチャレンジの単語リストを使用)の例を次に示します。 …

14
これは切り捨てられた三角形の数ですか?
関連するOEISシーケンス:A008867 切り捨てられた三角数 三角形の数の一般的なプロパティは、三角形に配置できることです。たとえば、21を取り、osの三角形に配置します。 o ああ おー おおおお ああ おっと 各角から同じサイズの三角形を切り取る「切り捨て」を定義しましょう。21を切り捨てる1つの方法は次のとおりです。 。 。。 おー おおおお 。おー。 。。oo。。 (の三角形は.オリジナルからカットされます)。 o残りは12 秒なので、12は切り捨てられた三角形の番号です。 仕事 あなたの仕事は、整数を取り、数値が切り捨てられた三角形の数であるかどうかを返す(または標準出力メソッドのいずれかを使用する)プログラムまたは関数(または同等のもの)を書くことです。 ルール 標準的な抜け穴はありません。 入力は負でない整数です。 カットの辺の長さは元の三角形の半分を超えることはできません(つまり、カットは重なり合うことができません) カットの辺の長さはゼロにすることができます。 テストケース 真実: 0 1 3 6 7 10 12 15 18 19 偽物: 2 4 5 8 9 11 13 14 16 17 20 …
20 code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

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