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

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

30
この番号はレプディジットですか?
チャレンジ ぞろ目には、その数字全て等しい正の整数です。 入力として単一の整数を取り、入力数が10進数のrepdigitである場合は真理値を出力し、それ以外の場合は偽値を出力する関数または完全なプログラムを作成します。 入力は正の整数であることが保証されています。 入力を基本10の文字列表現として使用し、免責することができます。 テストケース これらはすべて1000未満の繰り返し桁です。 1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777 888 999 より大きなリストはOEISにあります。 勝ち バイト単位の最短コードが優先されます。それは、冗長言語での賢い答えが歓迎されないということではありません。

30
この数字は三角形ですか?
チャレンジ 正の整数を指定して、それが三角数かどうかを判断し、それに応じて任意の2つの定数の異なる値のいずれかを出力します。 定義 三角形の数は、それらはまた、式で表すことができる1から始まる、連続する正の整数の和として表すことができる数でありn(n + 1) / 2、nいくつかの正の整数です。 テストケース 真実: 1 3 6 10 15 21 55 276 1540 2701 5050 7626 18915 71253 173166 222111 303031 307720 500500 998991 偽物: 2 4 5 7 8 9 11 16 32 50 290 555 4576 31988 187394 501500 999999 ルール エントリは関数またはプログラムの場合があります。 …

11
シャルコフスキーの奇妙な順序
前書き この課題では、正の整数の特定の順序付けを扱います。順序は次のようになります。 3, 5, 7, 9, 11, ... 2*3, 2*5, 2*7, 2*9, 2*11, ... 4*3, 4*5, 4*7, 4*9, 4*11, ... 8*3, 8*5, 8*7, 8*9, 8*11, ... 16*3, 16*5, 16*7, 16*9, 16*11, ... ... ... 64, 32, 16, 8, 4, 2, 1 最初に、1より大きいすべての奇数整数を昇順でリストします。次に、1より大きい2倍の奇数の整数をリストし、4倍、8倍、というように、すべてのkについて、1より大きい奇数の整数の2 k倍を昇順でリストします。最後に、1で終わる降順で2のべき乗をリストします。すべての正の整数は、この「リスト」に1回だけ出現します。 より明確に、2つの異なる正の整数A = n・2 pおよびB = m・2 qを検討します。ここで、n、m≥1は奇数で、p、q≥0です。次に、次の条件のいずれかが当てはまる場合、順序付けでAがBの前に来ます。 …

30
ランダムダイティッパーの検証
ほぼ6年前、仲間のPPCGメンバーsteenslag は次の課題を投稿しました。 標準のサイコロ(ダイス)では、反対側の面が7になるように番号が配置されます。ランダムスローに続いて9回のランダムチップを出力する、可能な言語で最短のプログラムを記述します。チップはサイコロの4分の1回転です。たとえば、サイコロが5に面している場合、すべての可能なチップは1,3,4および6です。 望ましい出力の例: 1532131356 だから、今では誰もがそれを完全に忘れており、勝者の答えは長い間受け入れられてきたので、提出されたソリューションによって生成されたダイチップシーケンスを検証するプログラムを書くことになります。(これは理にかなっています。そうするふりをしてください。) チャレンジ あなたのプログラムや関数は このようなシーケンスを与えています1532131356。連続する各桁が以下であることを検証します。 前の数字と等しくない 7から前の数字を引いたものと等しくない (最初の数字を検証する必要はありません。) ルール プログラムは、入力が有効な場合は真実の値を返し、そうでない場合は偽の値を返す必要があります。 入力は1〜6の数字のみで構成され、少なくとも1文字の長さであると想定できます。シーケンスは、steenslagのチャレンジのように固定長になりません。 入力は、文字列("324324")、配列または配列のようなデータ構造([1,3,5])、または複数の引数(yourFunction(1,2,4))として受け取ることができます。 標準のI / Oおよび抜け穴の規則が適用されます。 テストケース 真実の 1353531414 3132124215 4142124136 46 4264626313135414154 6 2642156451212623232354621262412315654626212421451351563264123656353126413154124151545145146535351323 5414142 偽り 繰り返し数字 11 3132124225 6423126354214136312144245354241324231415135454535141512135141323542451231236354513265426114231536245 553141454631 14265411 ダイの反対側 16 42123523545426464236231321 61362462636351 62362462636361

18
テンキーの騎士番号
標準テンキーのゼロ以外の数字の場合 789 456 123 チェスナイトを任意の桁に配置し、通常のL字型ジャンプを何回か実行して、正の10進整数をトレースすることを検討してください。このような方法で表現できる正の整数は何ですか? それらの1つは38、ナイトがスタートして3、左と上に移動できるから8です。381そして383また可能です。 3ジャンプが行われない場合、それ自体が可能です(これは許可されています)。5も同様ですが、から他の数字に到達できない5ため、数字5が表示される唯一の数字です。 正の10進整数(必要に応じて文字列として取得できます)を取り、数値がテンキーの騎士によって記述された方法で表現できる場合は真理値を出力または返すプログラムまたは関数を記述しますが、そうでなければ出力しますfalsy値。 バイト単位の最短コードが優先されます。Tiebreakerは以前の回答です 例 真実: 1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 18, 38, 61, 81, 294, 349, 381, 383, 729, 767, 38183, 38383, 18349276, 183492761, 618349276 偽物: 10, 11, 50, 53, 55, 65, 95, 100, 180, 182, 184, 185, 186, …

24
この番号はレーシアンですか?
正の整数kは、次の場合、レーシアン数です。 ki*i + j*j + i*jfor i、j整数として表現できます。 たとえば、最初の正のロジアン数は次のとおりです。1(i=1、j=0); 3(i=j=1); 4(i=2、j=0); 7(i=2、j=1); 9(i=-3、j=3); ... は、特定のに対して一意ではないことiに注意してください。例えば、も用いて生成することができます、。jk9i=3j=0 これらの数値の他の同等の特性は次のとおりです。 k表すことができるi*i + j*j + i*jためi、j負でない整数。(整数の各ペアについてi、j同じを与える非負整数のペアがありますk) k六角形のグリッド上でテッセレーションを形成する一連の連続した六角形があります(k = 4およびの図を参照k = 7)。(この特性のため、これらの数値はモバイルセルラー通信ネットワークに適用されます。) シーケンスのOEISページでその他の特性を参照してください。 チャレンジ 正の整数が与えられた場合、それがレーシアン数であれば真の結果を出力し、そうでなければ偽の結果を出力します。 プログラムまたは関数は1000、データ型の制限まで、または1分未満で入力を処理する必要があります。 コードゴルフ。最短勝。 テストケース 次の数値は、真の結果を出力するはずです。 1, 4, 7, 12, 13, 108, 109, 192, 516, 999 次の数値は偽の結果を出力するはずです。 2, 5, 10, 42, 101, 102, 128, …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

29
プレフィックスコードですか?
情報理論では、「プレフィックスコード」とは、どのキーも別のキーのプレフィックスではない辞書です。言い換えれば、これは、文字列が他の文字列で始まらないことを意味します。 たとえば、{"9", "55"}はプレフィックスコードですが、そうで{"5", "9", "55"}はありません。 これの最大の利点は、エンコードされたテキストを区切り文字なしで書き留めることができ、一意に解読できることです。これは、常に最適なプレフィックスコードを生成するHuffmanコーディングなどの圧縮アルゴリズムに現れます。 タスクは簡単です。文字列のリストが与えられたら、それが有効なプレフィックスコードかどうかを判断します。 あなたの入力: 妥当な形式の文字列のリストになります。 印刷可能なASCII文字列のみが含まれます。 空の文字列は含まれません。 出力は、真/偽の値になります。有効なプレフィックスコードの場合はTruthy、そうでない場合はfalseyです。 真のテストケースを次に示します。 ["Hello", "World"] ["Code", "Golf", "Is", "Cool"] ["1", "2", "3", "4", "5"] ["This", "test", "case", "is", "true"] ["111", "010", "000", "1101", "1010", "1000", "0111", "0010", "1011", "0110", "11001", "00110", "10011", "11000", "00111", "10010"] いくつかの誤ったテストケースを次に示します。 ["4", "42"] ["1", "2", …

30
これはn話ですか?
に触発されていますか?、私はより難しい挑戦を考案しました。文字列の場合、文字列を考えると、決定のn-話すいずれかのために、N ≥ 2n≥2n\geq 2。 N-speakは、各文字をnnn回繰り返すことで定義されます。でn = 4n=4n = 4、文字列がHelloに変換されますHHHHeeeelllllllloooo。あなたの目標は、入力がnピーク変換の有効な出力であるかどうかを把握することです。 n = 2 kn=2kn = 2k場合に有効なn話である文はすべて、k話でも有効であることに注意してください。したがって、解くのが難しい部分はnnn奇数値になります。 入力 少なくとも2文字で構成される文字列。入力には文字のリストも使用できます。入力では大文字と小文字が区別されます。 出力 Truthy文字列がn-speakのfalsey場合、そうでない場合。 例 真のケース HHeelllloo,, wwoorrlldd!! TTTrrriiipppllleee ssspppeeeaaakkk QQQQuuuuaaaaddddrrrruuuupppplllleeee ssssppppeeeeaaaakkkk 7777777-------ssssssspppppppeeeeeeeaaaaaaakkkkkkk 999999999 aaaabb aaaaaaaabbbbcc aaaaabbbbb @@@ 追加の真実ケースを生成する場合は、このMathGolfスクリプトを使用できます。文字列を引用符で囲み、入力としてnnnの値を配置します。 偽例 Hello, world! TTTrrriiipppllleee speak aaaaaaaaaaaaaaaab Ddoouubbllee ssppeeaakk aabbab aaaabbb a (does not need to be …

11
誰が選挙に勝ちますか?
これは、1人と2人の2人が出勤するという課題です。1と2の世界では、人々は特定の方法で決定論的に投票するため、候補者は選挙前に結果を把握できます。 注:これは、外部の選挙やその他の政治的出来事を指すものではありません。 2人がオフィスに走っています。これらの人々を1と2と呼びます。どちらも選挙に勝つかどうかを知りたがっているので、彼らは人々の知識といくつかのコードを使用して結果がどうなるかを判断します。政府の支出を最小限に抑えるため、コードはできるだけ短くする必要があります。 あなたの仕事:投票方法に基づいて一連の人々を与え、選挙で勝った人を出力します。 1と2の楽しくてエキサイティングな世界には5種類の人々がいます。 A:1に間違いなく投票する人 B:間違いなく2に投票する人。 X:左の人が投票する人に投票する人。左に人がいない場合は、右の人が投票する人に投票します。自分の権利のある人が誰に投票しているかが明確でない場合、彼らは投票しません。 Y:人々は左の人の反対に投票します。左側に人がいない場合は、右側にいる人の反対に投票します。自分の権利のある人が誰に投票しているかが明確でない場合、彼らは投票しません。 N:投票しない人。 これは左から右に評価されます。 例: 明確にするために、「評価」されている人はすべて小文字です。 Input: `XXAYAN` xX Votes for whoever their friend is voting for. Their friend has not decided yet, so it is unclear, so they do not vote. Xx Person to left is voting "none" so votes "none." a …

30
等しい、合計、または差!
与えられた2つの整数値が等しいか、それらの和または絶対差が5である場合にtrueを返す最短のコードを記述します。 テストケースの例: 4 1 => True 10 10 => True 1 3 => False 6 2 => False 1 6 => True -256 -251 => True 6 1 => True -5 5 => False 私がpython2で思いつくことができる最短は56文字の長さです: x=input();y=input();print all([x-y,x+y-5,abs(x-y)-5])<1 -9、@ ElPedroに感謝します。x、yの形式で入力を受け取ります。 x,y=input();print all([x-y,x+y-5,abs(x-y)-5])<1

7
1次元の有限タイル
この課題の目的は、1次元の断片のコレクションを並べて有限の連続チャンクを形成できるかどうかを判断することです。 ピースは 0と1の空でない有限のシーケンスであるものと開始し、終了します。いくつかの可能な部分があり1、101、1111、1100101。 タイリングとは、1つの連続したブロックが形成されるようにピースを配置することを意味します。ある作品の1つは、別の作品の1つの場所ではなく、ゼロの場所を占めることができます。 同様に、1つを「固体材料」とみなし、0を「穴」とみなす場合、穴を残さずに1つのストレッチを形成するようにピースを合わせる必要があります。 タイルを形成するには、ピースを1次元空間に沿ってのみシフトできます。(それらを分割したり、反映したりすることはできません)。各ピースは1回だけ使用されます。 例 三枚101、11、101各片は必要シフトで表され、以下に示すようにタイル張りすることができます。 101 11 101 したがって、取得されたタイルは 111111 2番目の例として、ピース11011と1001101タイルを並べることはできません。特に、シフト 11011 1001101 衝突するものが2つあるため、無効です。そして 11011 1001101 結果にゼロが含まれるため、無効です。 追加のルール 入力は、 1個以上のコレクションです。合理的な形式が許可されます。例えば: 文字列のリスト。各文字列には、2つの異なる一貫した文字を含めることができます。 いくつかの配列。各配列には1つのピースの位置が含まれます。 各数のバイナリ表現などの(奇数)整数のリストは、ピースを定義します。 出力は、タイリングが可能であり、そしてfalsy値そうでない場合truthy値であるべきです。出力値は一貫している必要はありません。つまり、入力ごとに異なる場合があります。 プログラムまたは機能にはいずれにも、許可されているプログラミング言語。標準的な抜け穴は禁止されています。 バイト単位の最短コードが優先されます。 テストケース 各入力は異なる行にあります 真実の 1 111 1, 1 11, 111, 1111 101, 11, 1 101, 11, 101 10001, 11001, 10001 100001, 1001, …

16
プライムを定義するさまざまな方法
素数の私のお気に入りの定義の1つは次のとおりです。 2は最小の素数です。 2より大きい数は、より小さい素数で割り切れない場合、素数です。 しかし、この定義はarbitrary意的と思われます。なぜ2なのでしょうか なぜ他の数字ではないのですか?まあ他のいくつかの数値を試してみましょう nは最小のn素数です。 nより大きい数は、より小さいn素数で割り切れない場合、n素数です。 仕事 ここでのタスクは、2つの入力、正の整数とるプログラム書くことであるnは整数正。次に、aがn素数であるかどうかを判断します。プログラムは、「yes、it is n-prime」と「no、it is not n-prime」の2つの異なる値を出力する必要があります。 これはコードゴルフの質問なので、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いでしょう。 テスト 以下は、n = 2からn = 12までの最初の31個の素数のリストです(1は唯一の1素数です) n=2: [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127] n=3: [3,4,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127] n=4: [4,5,6,7,9,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113] n=5: [5,6,7,8,9,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113] n=6: [6,7,8,9,10,11,13,15,17,19,23,25,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107] n=7: [7,8,9,10,11,12,13,15,17,19,23,25,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107] n=8: [8,9,10,11,12,13,14,15,17,19,21,23,25,29,31,35,37,41,43,47,49,53,59,61,67,71,73,79,83,89,97] n=9: [9,10,11,12,13,14,15,16,17,19,21,23,25,29,31,35,37,41,43,47,49,53,59,61,67,71,73,79,83,89,97] n=10: [10,11,12,13,14,15,16,17,18,19,21,23,25,27,29,31,35,37,41,43,47,49,53,59,61,67,71,73,79,83,89] n=11: [11,12,13,14,15,16,17,18,19,20,21,23,25,27,29,31,35,37,41,43,47,49,53,59,61,67,71,73,79,83,89] n=12: [12,13,14,15,16,17,18,19,20,21,22,23,25,27,29,31,33,35,37,41,43,47,49,53,55,59,61,67,71,73,77]

6
マトリックス内のヘビを見つける
チャレンジ バイナリマトリックスとバイナリ文字列が与えられたら、そのバイナリ文字列がマトリックス内の任意のポイントから始まり、その後の任意のポイントで任意の方向に移動してバイナリ文字列を形成できるかどうかを判断します。つまり、文字列はマトリックス内で折りたたまれていますか? 文字列は90度または180度(エッジ接続、マンハッタン距離1)でのみ折りたたむことができ、どの点でも重なることはできません。 例 次の例を見てみましょう。 Matrix: 010101 111011 011010 011011 Snake: 0111111100101 これは真実のテストケースです。次の位置でヘビが折りたたまれているのがわかります。 0-1 0 1 0 1 | 1 1 1-0 1 1 | | | | 0 1 1 0-1-0 | | 0 1-1 0 1 1 ルール 標準的な抜け穴が適用されます 必要に応じて、文字列の長さと行列の幅と高さを入力として使用できます バイナリ行列とバイナリ文字列を、複数行の文字列/文字列の配列/改行結合文字列/その他の結合文字列と文字列として取ることができます 複数の引数の代わりに、次元をフラット配列として取ることができます プログラムは、長さ10までの文字列を含む5 x 5マトリックスで1分以内に終了する必要があります 制限事項 行列は必ずしも正方形ではありません 文字列は空ではありません …

25
数字を考えています(Cop's Thread)
強盗のスレッドはこちら この警官と強盗の挑戦では、警官は正の整数を考えます。次に、入力として数値が提供されたときに1つの値を出力し、他のすべての正の整数入力に別の値を出力するプログラムまたは関数を作成します。警官は、番号を秘密にして、回答でプログラムを明らかにします。強盗は、番号を見つけることで答えを割り込むことができます。 キャッチは次のとおりです。これはcode-golfではありません 。代わりに、スコアは秘密の数字になり、スコアが低いほど良くなります。強盗がまだそれを見つけようとしている間は、明らかにあなたのスコアを明らかにすることはできません。投稿の1週間後にクラックされていない回答は、スコアが表示され、安全とマークされる場合があります。安全な答えを解読することはできません。 おそらく言うまでもありませんが、答えを採点できるはずです。つまり、意思決定マシンで受け入れられる値を正確に知る必要があります。あることを単に知るだけでは十分ではありません。 暗号化機能の使用 暗号化機能を使用しないように要求するほとんどの警官や強盗の挑戦とは異なり、この挑戦​​は完全にそれらを許可するだけでなく、それらを奨励します。あなたが勝つことを試みている限り、あなたはどんな方法でも答えを自由に作成できます。そうは言っても、他の方法を使用した回答も歓迎します。挑戦の目標は勝つことであり、あなたがチートしない限り、何もテーブルから外れていません。

20
優れたパスタイム
時々、私が本当に退屈しているとき、非負の整数の配列の合計を取るのが好きです。2のべき乗である長さの配列の合計のみを取ります。残念ながら、私はしばしば間違いを犯します。幸いなことに、私は自分の仕事を次のように追跡しながら追跡しています。 残りの番号が1つになるまで、隣接する番号のペアを追加します。例えば: 6 + 18 + 9 + 6 + 6 + 3 + 8 + 10 = 24 + 15 + 9 + 18 = 39 + 27 = 66 仕事は、私がどこかで間違いを犯したかどうかを判断することです。入力を関数に渡すか、標準入力から読み取ることができます。出力は印刷するか返すことができます。 入力:配列/リスト/など。非負の整数、および言語で必要な場合はその配列の長さも含まれます。その配列は、左から右、次に上から下に読み取られるすべての数字になります。例えば、上記の配列はなる: [[6, 18, 9, 6, 6, 3, 8, 10], [24, 15, 9, 18], [39, 27], [66]] または [6, …

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