タグ付けされた質問 「decision-problem」

入力が特定の基準を満たすかどうかを決定し、その決定を表すいくつかのデータを出力する必要がある課題の場合。

14
[N]とM反復の再帰的に連結された累積和
2つの正の整数NをM取得し[N]、M反復での連結累積和を作成します。最後の反復の結果を出力します。 連結累積合計の定義: 数字Nから始めてシーケンスを定義するX = [N] 追加Xの累積和X 手順を2 M回繰り返します。 ベクトルの累積合計X = [x1, x2, x3, x4]は次のとおり[x1, x1+x2, x1+x2+x3, x1+x2+x3+x4]です。 例N = 1とM = 4: P =累積和関数。 M = 0: [1] M = 1: [1, 1] - X = [1, P(1)] = [[1], [1]] M = 2: [1, 1, 1, 2] - X …
14 code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 


11
大文字と小文字の一致検索
3つの入力、テキストの文字列T、置換する文字列、F; そして、それらを置き換える文字列R。Tと同じ(大文字と小文字を区別しない)文字を持つの各部分文字列について、の文字でF置き換えますR。ただし、元のテキストと同じ大文字小文字を使用してください。 より多くの文字が含まれているR場合F、余分な文字は大文字と小文字を区別する必要がありRます。に数字または記号がFある場合、対応する文字はRの大文字小文字を保持する必要がありRます。Fに表示されるとは限りませんT。 すべてのテキストが印刷可能なASCII範囲にあると想定できます。 例 "Text input", "text", "test" -> "Test input" "tHiS Is a PiEcE oF tExT", "is", "abcde" -> "tHaBcde Abcde a PiEcE oF tExT" "The birch canoe slid on the smooth planks", "o", " OH MY " -> "The birch can OH MY e slid OH MY …
14 code-golf  string  code-golf  string  ascii-art  alphabet  code-golf  number  sequence  counting  code-golf  sequence  counting  code-golf  quine  source-layout  code-golf  string  code-golf  decision-problem  game  code-golf  string  quine  source-layout  subsequence  code-golf  quine  code-golf  array-manipulation  integer  code-golf  ascii-art  code-golf  sequence  integer  code-golf  kolmogorov-complexity  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  integer  code-golf  string  number  integer  code-golf  string  ascii-art  code-challenge  test-battery  expression-building  source-layout  printable-ascii  code-bowling  code-golf  number  code-golf  number  string  binary  code-golf  matrix  conversion  code-golf  number  arithmetic 

6
クラッシュせずにループできますか?
私たちの多くは、Tronというゲームに精通しています。グリッドに配置された「ライトサイクル」を制御します。ライトサイクルは常に前方に移動し(方向を制御しますが)、その背後に永続的なトレイルを残します。トレイルにぶつかると、クラッシュします! ここでの目標は、特定のパスが有効なループであるかどうか、つまり「クラッシュ」せずに開始点に戻るかどうかを判断することです。これを行うために、ポイントから開始すると仮定し(0,0)ます。入力はN2E1S2W1、一連の基本方向(Nis north、Eis east、など)の形式で与えられ、それぞれにその方向に移動する距離が続きます。この例では、旅行します N2 : North 2 to (0,2) E1 : East 1 to (1,2) S2 : South 2 to (1,0) W1 : West 1 to (0,0) パスは(0,0)、他の座標(0,0)に2回以上アクセスすることなく終了する場合に有効と見なされます(正確に2回アクセスします。開始時に1回、終了時に1回)。上記の例よりも注意し(0,0)て(0,2)ください(0,1)。からに到達するには、必ずアクセスする必要があります。 他の例: input -> output N1E1S1W1 -> true N1E1N1E1S2W2 -> true N1S1E1W1 -> false // Visits (0,0) 3 times N4E2S2W4S2E2 -> false …

8
到達可能な番号
定義 オイラーファイ関数(aka totient function):正の数を取り、特定の数と互いに素である特定の数より小さい正の数を返す関数。として示されφ(n)ます。 到達番号:正の整数が存在する場合x、その結果をφ(x) == n、その後nで到達可能。 仕事 与えられた正の整数が到達可能かどうかを判断する関数/プログラムを作成します。 入力 妥当な形式の正数。数は言語の能力の範囲内であると想定できます。単項入力が受け入れられます。 出力 到達可能な数値用と到達不能な数値用の2つの一貫した値。2つの値は、一貫している限り、何でもかまいません。 テストケース 以下の到達可能な番号100は次のとおりです。 1、2、4、6、8、10、12、16、18、20、22、24、28、30、32、36、40、42、44、46、48、52、54、56、58、 60、64、66、70、72、78、80、82、84、88、92、96 (OEISのA002202) ルール 標準の抜け穴が適用されます。 勝利基準 これはcode-golfです。最も少ないバイト数での送信が優先されます。 参照資料 オイラーファイ関数 OEIS A002202

4
数学問題表記法を解く
それぞれに整数が与えられた宿題の問題が無限にあると想像してください(!)。 数学問題表記法は、問題指定子を使用して問題のサブセットを記述するための表記法です。 MPN式は、次のもので構成されます。 単一の値。これは、番号を含むセットを表します99 -> {99}。 シンプルな範囲。これは、範囲の最初から最後までのすべての数値を含むセットを表します10~13 -> {10, 11, 12, 13}。左側または右側が欠落している場合、それぞれ-InfinityまたはInfinityと見なされます~10 -> {x|x ≤ 10}。~ -> ℤ。 「スキップ」と別のMPN式が続くMPN式。これは、2つのセットの差を表します10~20 skip 12~14 -> {10, 11, 15, 16, 17, 18, 19, 20}。 コンマで区切られた2つのMPN式。これは、2つのセットの和集合を表します1,8~9,15~17 -> {1,8,9,15,16,17}。 「スキップ」演算子はコンマ演算子よりも厳密にバインドするため、16,110~112 skip 16 -> {16,110,111,112}16はset {110,111,112}に含まれないため、16を除外することは問題になりません。 曖昧さをなくすために括弧で式を置くこともできます: 1~9 skip (2~8 skip (3~7 skip (4~6 skip 5))) -> …

23
黄色の木に分かれた2つの道路(パート1)
これはシリーズの最初であり、2番目は黄色の木で分岐した2つの道路です(パート2) この課題は、ロバートフロストの有名な詩「The Road Not Taken」に触発されています。 2本の道が黄色い木に分かれていて、 残念ながら私は両方を旅行することはできず 、一人の旅行者であり、長く立っていて、できる限り 1本を見下ろしてい ました。 それから、もう一方を公平に取りました。 そして、おそらくより良い主張を持って います。 それについては、そこのパッシングは 本当に同じように着用していましたが、 そして、その朝の両方が平等に 横たわり、黒が踏まれた段差はなかった。 ああ、私は別の日のために最初を保った! しかし、道が道にどのようにつながるかを知っていたので、 私は戻ってくるべきかどうか疑っていました。 私はこれを どこか年齢と年齢のため息で告げるつもりです: 2本の道が森の中に分かれていて、 私は旅の少ない道を取りました。 そしてそれがすべての違いを生みました。 最後から2番目の行に注目してくださいI took the one less traveled by,。 あなたの実際の挑戦 次のような形式で入力を受け取ります。 # ## # ## # ## # # # 細い道を見つける必要があります。 道路はから始まり#ます。常に一番上の行で終わる他の2つの道路は、調査する必要がある道路です。最も太い道路は最も多くの人が通っているので、あなたが望む通りではありません。もう1つは最も移動が少なく、必要なものです。 出力 プログラム/関数は、2つの異なる値(たとえば、0または1、trueまたはfalse)のうちの1つを出力する必要があります。たとえば、撮影されていない道路が撮影された道路の左側にある場合は0を出力し、そうでない場合は1を出力するか、文字列「left」または「right」、true、falseなどを出力できます。 テストケース: ## # …

13
それは最大ヒープですか?
ヒープも優先キューとして知られているが、抽象データ型です。概念的には、すべてのノードの子がノード自体以下であるバイナリツリーです。(最大ヒープと仮定します。)要素がプッシュまたはポップされると、ヒープはそれ自体を再配置し、最大の要素が次にポップされるようにします。ツリーまたは配列として簡単に実装できます。 受け入れを選択した場合の課題は、アレイが有効なヒープかどうかを判断することです。すべての要素の子が要素自体以下の場合、配列はヒープ形式になります。例として次の配列を取り上げます。 [90, 15, 10, 7, 12, 2] 本当に、これは配列の形に配置された二分木です。これは、すべての要素に子があるためです。90には、15と10の2つの子があります。 15, 10, [(90), 7, 12, 2] 15には子もあり、7と12: 7, 12, [90, (15), 10, 2] 10には子供がいます: 2 [90, 15, (10), 7, 12, ] 次の要素も10の子になりますが、スペースがないことを除きます。配列が十分に長ければ、7、12、および2にもすべて子があります。ヒープの別の例を次に示します。 [16, 14, 10, 8, 7, 9, 3, 2, 4, 1] そして、これは前の配列が作るツリーの視覚化です: これが十分に明確でない場合に備えて、i番目の要素の子を取得するための明示的な式を次に示します //0-indexing: child1 = (i * 2) + …

6
時計(カードゲーム)
時計はスキルを必要としないため、興味深いカードゲームです。それはシングルプレイヤーゲームであり、同じカード構成は常に勝ち負けにつながります。この課題では、特定のカード構成が勝つか負けるかを把握する必要があります。ここでゲームをプレイできます。 ゲームは次のように再生されます。 13枚のカードが裏向きに配られます。各杭には0〜12の番号が付けられています。 0番目のパイルを現在のパイルに設定します 現在のパイルの一番上のカードを表向きにします。 表向きのカードをそれぞれの山の一番下に移動します(4枚のカードが4番目の山の下に入ります)。カードは表向きのままです。この山は現在の山になります。 現在のパイルが完全に表向きの場合、ゲームオーバーです。それ以外の場合は、手順3に戻ります。 ヒント:ゲームは常に0番目のパイルで終了します すべてのカードが表向きになるとゲームに勝ち、裏向きのカードが残っていると負けます。 入出力 各杭を含む2D配列。カードは0から12の数字で表されます(スーツは無関係であり、与えられません)。各パイルの一番上のカードは、各配列の最初の要素です。 入力は整形式であると想定できます。0から12までの52枚のカードが含まれており、各番号は正確に4回含まれています。 ゲームに勝つことができる場合は真実の値を返し、できない場合は偽りを返す必要があります。 テストケース 真実: [[11, 11, 7, 7], [8, 6, 5, 0], [2, 10, 9, 1], [12, 3, 0, 6], [8, 7, 4, 8], [3, 10, 5, 12], [11, 7, 1, 10], [3, 1, 6, 0], [2, 3, 0, …

5
L凸ですか?
バックグラウンド ポリオミノが呼び出されたL-凸それはL字型パス、基本方向に行くと一度最大で方向を変えるパスで、他のタイルへのタイルから移動することができます場合、。たとえば1、図のs のポリオミノ 0 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 0 0 は、左下から1右上への両方のL字型パスに1aが含まれているため、L凸ではありません0。 0>0>1>1>1 0 ^ ^ 1 1 1 1 0 0 ^ ^ 1>1>0>0>0 0 ただし、1この図のs のポリオミノはL凸です。 0 1 1 1 0 0 1 1 1 1 1 1 …

1
カニンガムチェーンのカウント
素数は常に人々を魅了してきました。2300年前、ユークリッドは彼の「要素」に書いた 素数とは、単位だけで測定されるものです。 つまり、素数は1(またはそれ自体で)割り切れるだけです。 人々は常に素数間の関係を探しており、(「面白い」のような)かなり奇妙なものを思いついてきました。 たとえば、Sophie Germainプライムは、プライムpで2*p+1もあるプライムです。 安全素数は素数であるpそのため(p-1)/2正確ソフィー・ジェルマン素数の下位条件である、また、素数です。 これらは、この課題で私たちが探しているものに関連しています。 A カニンガムチェーンタイプの私は最後のものを除くすべての要素がある素数のシリーズです、ソフィー・ジェルマン素数と、最初のものを除くすべての要素がある安全素数。このチェーンの要素の数は、その長さと呼ばれます。 これは、プライムから始めてp計算することを意味しますq=2*p+1。qが素数である場合、長さ2のタイプIの Cunnighamチェーンがあります。次に2*q+1、次の生成された数が合成されるまでテストなどを行います。 タイプIIのカニンガムチェーンは、ほぼ同じ原理に従って構築されますが、唯一の違い2*p-1は各段階で確認することです。 Cunninghamチェーンの長さは1です。つまり、2 * p + 1も2 * p-1も素数ではありません。これらには興味がありません。 カニンガムチェーンの例 2長さ5のタイプIのチェーンを開始します。 2, 5, 11, 23, 47 次に構築される数95は、素数ではありません。 これはまた、以下のことを教えてくれる5、11、23および47タイプのいずれかのチェーンを開始していない私を、それが要素に先行する必要があるため、。 2また、長さ3のタイプIIのチェーンを開始します。 2, 3, 5 次はで9、これは素数ではありません。 11タイプIIを試してみましょう(以前にタイプIから除外しました)。 さて、21次は、素数ではないので、この「チェーン」の長さは1になりますが、このチャレンジではカウントしません。 チャレンジ n入力として数値を指定すると、少なくとも長さ2のタイプIまたはIIのn番目のカニンガムチェーンの開始番号を書き込み/返すプログラムまたは関数を記述し、その後にスペース、それに続くチェーンのタイプ(IまたはII)、その後にコロン、その後にそのタイプのチェーンの長さが続きます。プライムが両方のタイプのチェーン(タイプI およびタイプII)を開始する場合、タイプI のチェーンが最初にカウントされます。 例: 2 I:5 nこれは、以前に開始された任意のタイプのチェーンの一部である可能性があることに留意してください。その場合、そのタイプのチェーンの開始番号と見なされるべきではありません。 これがどのように始まるのか見てみましょう から始め2ます。これは最初の素数であるため、を含む下位の素数で始まるチェーンがないことを確認できます2。 タイプIのチェーン内の次の数は次のようになります2*2+1 == 5。5素数なので、少なくとも長さ2のチェーンが既にあります。 これを最初のチェーンとしてカウントします。タイプIIはどうですか?次の番号はになります2*2-1 …

3
チェックメイトですか?
このサイトには多数のチェスのパズルがあるため、これがまだ投稿されていないことに完全に驚きました。私は自分でこれを考えていましたが、3月にサンドボックスに投稿したことについてAnushに感謝しますます。しかし、私は自分で先に進むことができるほど長いと思った。 チェスのチェックメイトは、キングが攻撃され、それを防御できる動きがない状況です。チェスの駒の動きに慣れていない場合は、ウィキペディアで詳しく知ることができます。 チャレンジ この挑戦のために、あなたのインプットはあなたが好きな表記法でチェス盤の位置になります。明確にするために、あなたの入力はチェス盤上の駒を色と位置とともに説明し、もしあれば可能性のある一時的な捕獲広場も示します。(キャッスルをチェックアウトすることはできないため、キャッスルする能力は無関係です。)FEN表記は便利ですが、便利なフォーマットであれば問題ありません。簡単にするために、あなたはそれがプレイする黒だと仮定することができます -これは、黒が常にチェックメイトされたプレイヤーであることを意味します。ホワイトがチェック、チェックメイト、またはステイルメイトにあるポジションは、このチャレンジでは無効と見なされます。 位置がチェックメイトの場合は真実の値を出力し、そうでない場合は偽の値を出力する必要があります。膠着状態はチェックメイトではないことに注意してください -キングを攻撃する必要があります! 真実のテストケース 1k5R / 6R1 / 8/8/8/8/8 / 6K1 b-- rn2r1k1 ​​/ pp1p1pQp / 3p4 / 1b1n4 / 1P2P3 / 2B5 / P5PP / R3K2R b-- kr5R / rB6 / 8/8/8 / 5Q2 / 6K1 / R7 b-- 2K5 / 1B6 / 8/8/8 / …

14
アイリッシュスナップ:バリアントルール
前書き 最近、私と数人の友人がいくつかのカードをプレイすることに決め、そのうちの1人がこのチャレンジのインスピレーションとなったゲーム「アイリッシュスナップ」を提案しました。ただし、このゲームには、プレイできるさまざまなルールがあり、そのうちのいくつかがここにリストされていることが後でわかり ました。このチャレンジにあるルールは現在そのページにリストされていないため、「Variant Rules」という名前が付けられています チャレンジ 3枚のカードの配列が与えられたら、アイリッシュスナップのゲームで有効なスナップを行うかどうかに応じて、真偽値または偽値を出力します。 入力 入力は1から13までの3つの数字の配列で、1はエース、11はジャック、12はクイーン、13はキングを表します。入力は、上、中、下の任意の順序にすることができます。 ルール カードがアイルランドのスナップを作る場合の4つの異なる基準は次のとおりです。 トップとミドルカードは同じです トップとミドルカードには1つの違いがあります 上部と下部のカードは同じです 上部と下部のカードには1つの違いがあります これらの基準のいずれかが満たされている場合、真実の値を出力する必要があります。これに加えて、カードに1つの違いがあることを必要とする2つの基準については、「ラップアラウンド」します。つまり、エースとキングは1の違いがあると見なされます。 テストケース Input (Bottom, Middle, Top) -> Output 1 13 7 -> False 1 4 13 -> True 9 3 6 -> False 8 9 7 -> True 2 6 5 -> True 12 5 11 …

9
ワードチェンジャーの到達可能性
ワードチェンジャーは、1文字の編集を介して1つの単語を別の単語に変換しようとしているゲームで、各ステップは独自の単語です。このチャレンジでは、編集は置換、挿入、または削除である場合があります。たとえば、WINNER→LOSERは、次のルートで実行できます(他にも可能性があります)。 WINNER DINNER DINER DINE LINE LONE LOSE LOSER 別の言い方をすれば、毎回1のレーベンシュタイン距離で他の単語だけを経由して、ある単語から別の単語に到達できる必要があります。 コーディング 単語リストと2つの単語が与えられ、ルートが存在する場合は1つの単語から別の単語への有効なルートを、ルートが存在しない場合は明確な定数値または一貫した動作を出力する必要があります。 入力単語は両方とも単語リストにあると仮定できます 単語リストは、便利なフラット形式で取り込むことができます。 リスト、セット、試行、スペースで区切られた文字列、および行で区切られたファイルはすべて有効ですが(たとえば)、事前に計算されたレーベンシュタインの隣接関係のグラフは無効です。 出力ルートには両方の入力語が含まれている必要がありますが、開始と終了はどちらでもかまいません。 ルートが見つからない場合、特定の定数、偽の値、空のリストを出力したり、例外をスローしたり、ゼロ以外のコードで終了したり、有限時間で発生するその他の動作を実行したりできます。 ルートは最適である必要はなく、どのルートを取るべきかという要件はありません。 計算の複雑さは重要ではありませんが、プログラムは有限時間で終了することが保証されている必要があります。(たとえそれが宇宙の熱死を超えて走るとしても) すべての単語が同じケースの文字で完全に構成されていると仮定することができます テストケースの例 CAT→DOG; [CAT、DOG、COG、COT、FROG、GROG、BOG] CAT、COT、COG、DOG バス→シャワー; [BATH、SHOWER、HATH、HAT、BAT、SAT、SAW、SOW、SHOW、HOW] ルートが見つかりません BREAK→FIX; [BREAK、FIX、BEAK、BREAD、READ、BEAD、RED、BED、BAD、BID、FAD、FAX] ブレーク、パン、ビード、悪い、FAD、FAX、FIX 構築→破壊; [ビルド、デストロイ、ビルド、ギルト、ギルド、ギルド、ギル、ビル、ディル、フィル、破壊、構造、構築] ルートが見つかりません カード→ボード; [カード、ボード、ボード] カード、ボード、ボード デーモン→エンジェル; [悪魔、エンジェル] ルートが見つかりません 最後→過去; [最後、過去、爆発、キャスト、黒、ゴースト、ポスト、ブースト] 最後、過去 挿入→削除; この単語リスト INSERT、INVERT、INVENT、INBENT、UNBENT、UNBEND、UNBIND、UNKIND、UNKING、INKING、IRKING、DIRKING、DARKING、DARRING、ARLING、AILING、SIRING、SERING、SERINE、NERINE、NERITE、CERITE、CERATE、DERATE、DELATE、削除

5
司教に強いパスワード
パスワードビショップの良さと混同しないでください! 文字列が与えられ、それが司教に強いパスワードを構成している場合は答えます(真/偽または2つの一貫した値)。 パスワードは、文字の各ペアがチェスボード上の正方形として解釈できるように、文字(in )と数字(in )が交互になった文字列であり、名前の付いた各正方形に白いポーンを配置すると、司教に対して強力ですパスワードでは、最初の()行の任意の正方形から最後の()行の任意の正方形まで、白人の司教が連続して何回も移動する方法はありません。a-h1-818 例 司教に強いパスワード a1b1c1d1e1f1g1h1 a8b8c8d8e8f8g8h8 a1b2c3d4d5f5f4g3g4h2b5 h4g4f4e4c4b4a4c3e3 a1b1c1d1e1f1g1a8b8c8d8e8f8g8 b4b5d4d5f4f5g3h5 たとえばa1b1c1d1e1f1g1a8b8c8d8e8f8g8、位置にb4b5d4d5f4f5g3h5対応し、位置に対応します 司教に弱いパスワード a4c4e4g4g5d6f6e3d2b2 (整形式だが強くはない-この例についてはジョー・キングに感謝!) b1c1d1e1f1g1h1a8b8c8d8e8f8g8 (整形式だが強くない) h4g4f4e4c4b4a4c3 (整形式だが強くない) d4 (整形式だが強くない) b4b5d4d5f4f5g2h5 (整形式だが強くない) correct horse battery staple (不正な形式) 1a1b1c1d1e1f1g8a8b8c8d8e8f8g (不正な形式) a (不正な形式) aa (不正な形式)

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