タグ付けされた質問 「set-theory」

集合論は、オブジェクトの順序付けられていないコレクションを研究する数学の分野です。このタグの課題には、セットの操作または分析が含まれます。

5
パワープログラミング:O(1 ^ N)、O(N ^ 1)、O(2 ^ N)、O(N ^ 2)をすべて1つに
実行方法に応じて、4つの一般的な大きなO 時間の複雑さを示すプログラム(または関数)を作成します。どのような形式でも、正の整数Nを取りますが、これは2 31より小さいと仮定できます。 プログラムを元の形式で実行する場合、一定の複雑さが必要です。つまり、複雑度はΘ(1)または同等にΘ(1 ^ N)でなければなりません。 プログラムを反転して実行すると、線形の複雑さが生じるはずです。つまり、複雑さはΘ(N)または同等にΘ(N ^ 1)でなければなりません。 (これN^1は1^N逆になっているので理にかなっています。) プログラムが2倍になった場合、つまり、プログラム自体に連結されて実行される場合、指数関数的な複雑さ、特に2 Nが必要です。つまり、複雑さはΘ(2 ^ N)でなければなりません。 (ので、これは理にかなっている2では2^N二重のある1中1^N)。 プログラムを2倍にして反転して実行すると、多項式の複雑さ、特にN 2が必要になります。つまり、複雑さはΘ(N ^ 2)でなければなりません。 (これN^2は2^N逆になっているので理にかなっています。) これらの4つのケースは、処理する必要がある唯一のケースです。 プログラムの実行時間は必要な複雑さによって上下に制限される必要があるため、正確さのために、大きなOではなく大きなシータ(Θ)表記を使用していることに注意してください。それ以外の場合、O(1)で関数を記述するだけで、4つのポイントがすべて満たされます。ここでニュアンスを理解することはそれほど重要ではありません。主に、プログラムが定数kに対してk * f(N)操作を実行している場合、Θ(f(N))にある可能性があります。 例 元のプログラムが ABCDE 実行には一定の時間がかかります。つまり、入力Nが1でも2147483647(2 31 -1)でも、その間の値でも、ほぼ同じ時間で終了するはずです。 プログラムの逆バージョン EDCBA つまり、終了にかかる時間はNにほぼ比例する必要があります。したがって、N = 1が最も時間がかかり、N = 2147483647が最も時間がかかります。 プログラムの倍増バージョン ABCDEABCDE Nに関して2からN時間かかるはずです。つまり、終了するのに要する時間は2 Nにほぼ比例するはずです。したがって、N = 1が約1秒で終了する場合、N = 60は宇宙の年齢よりも長い時間がかかります。(いいえ、テストする必要はありません。) プログラムの二重化および反転バージョン EDCBAEDCBA つまり、終了にかかる時間は、N * Nにほぼ比例するはずです。したがって、N …

19
私のパイは二等分されましたか?
正の整数の空でないリストを取り込むプログラムまたは関数を作成します。"1 2 3 4"またはなどの合理的で便利な形式で入力されていると想定できます[1, 2, 3, 4]。 入力リストの数値は、円グラフ全体のスライスを表します。各スライスサイズは対応する数値に比例し、すべてのスライスは指定された順序でグラフの周囲に配置されます。 たとえば、次のパイ1 2 3 4は次のとおりです。 あなたのコードが答えなければならない問題は、円グラフが今までされてい二分しますか?つまり、円の一方の側から他方の側に完全に直線があり、対称的に2つに分割されていますか? あなたはする必要があり、出力truthyの少なくとも一つの二等分線と出力がある場合に値をfalsy何も存在しない場合、値。 で1 2 3 4例との二分がある4 1と2 3出力truthyであろうように。 ただし、入力の1 2 3 4 5場合は二等分線がないため、出力は偽になります。 追加の例 数値を異なる方法で配置すると、二等分線が削除される場合があります。 例2 1 3 4→偽: 入力リストに数字が1つしかない場合、パイは二等分されません。 例10→偽: 複数の二等分線が存在する場合があります。ゼロ以上である限り、出力は真実です。 例6 6 12 12 12 11 1 12→真実:(3つの二等分線があります) 視覚的に明らかではない場合でも、2分割が存在する場合があります。 例1000000 1000001→偽: 例1000000 1000001 1→真実: (円グラフを生成してくれたnces.ed.govに感謝します。) テストケース …
43 code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

22
Natural Pi#0-ロック
ゴール 入力を受け取るプログラム/関数を作成し、整数のランダムなペアが比較的素数であるNかどうかを確認しN、を返しますsqrt(6 * N / #coprime)。 TL; DR これらの課題は、Piを概算するために自然と脳(およびおそらく再利用可能なリソース)のみを必要とするアルゴリズムのシミュレーションです。ゾンビの黙示録中に本当にPiが必要な場合、これらの方法は弾薬を無駄にしません!さらに8つの課題があります。推奨事項を作成するには、サンドボックスの投稿をチェックしてください。 シミュレーション 何をシミュレートしていますか?さて、2つのランダムな整数が比較的素数(すなわち、コプライムまたはgcd == 1)である確率は6/Pi/Piです。それらを数える; gcdが1 かどうかを確認します。繰り返す。これを数回繰り返した後、sqrt(6.0 * total / num_coprimes)に向かう傾向がありPiます。黙示録的な世界で平方根を計算するのが不安になっても心配しないでください!そのためのニュートン法があります。 これをどのようにシミュレートしますか? 入力してください N 次のN時間を実行します。 ランダムな正の整数を均一に生成しi、j と 1 <= i , j <= 10^6 もしgcd(i , j) == 1:result = 1 その他: result = 0 N結果の合計を取り、S 戻る sqrt(6 * N / S) …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

30
合計無料のセットですか?
セットは、一緒に追加されたときに2つの(必ずしも別個ではない)要素がセット自体の一部でない場合、合計がありません。 たとえば、{1, 5, 7}すべてのメンバーが奇数であり、合計2つの奇数が常に偶数であるため、合計は無料です。一方、セットのメンバーの{2, 4, 9, 13}いずれか2 + 2 = 4または合計として、合計はありません4 + 9 = 13。 入力としてセットを受け取り、セットが和のない場合はTruthy値を出力し、そうでない場合はFalsyを出力するプログラムまたは関数を作成します。 例: Sum-free: {} {4} {1, 5, 7} {16, 1, 4, 9} Not sum-free: {0} {1, 4, 5, 7} {3, 0} {16, 1, 4, 8}

18
識別子の一意化
前書き 定義上、一意の識別子は一意である必要があります。同じ識別子が複数あると、予期しないデータが取得されます。ただし、複数のソースから同時に到着するデータでは、一意性を確保するのは困難です。識別子のリストを一意化する関数を作成します。 これは恐らく私が書いた最悪のパズルの毛羽ですが、あなたはそのアイデアを得ます。 必要条件 0個以上の正の整数のリストが与えられた場合、最初から最後まで次の規則を各数値に適用します。 番号がその種の最初のものである場合、それを保持します。 以前に番号に遭遇した場合は、入力リスト全体または既存の出力のどこにも見られない正の最小整数に置き換えます。 ソリューションの場合: ソリューションは、プログラムまたは関数である可能性があります。 入力は、引数として渡される文字列、配列、またはキーボード入力です。 出力は、文字列、配列、または画面に出力される場合があります。 出力リストのすべての番号は異なります。 仮定 入力リストはきれいです。正の整数のみが含まれます。 正の整数の範囲は1〜2 31 -1です。 プログラムの変数に使用できるメモリは256 MB未満です。(基本的に、2,147,483,648要素の配列は許可されていません。) テストケース Input: empty Output: empty Input: 5 Output: 5 Input: 1, 4, 2, 5, 3, 6 Output: 1, 4, 2, 5, 3, 6 Input: 3, 3, 3, 3, 3, 3 Output: …

20
ファロは配列をシャッフルする
A ファロshuffleが頻繁に「シャッフル」デッキにマジシャンで使用される技術です。ファロシャッフルを実行するには、まずデッキを2つの等しい半分にカットしてから、2つの半分をインターリーブします。例えば [1 2 3 4 5 6 7 8] シャローファロは [1 5 2 6 3 7 4 8] これは何回でも繰り返すことができます。興味深いことに、これを十分な回数繰り返すと、常に元の配列に戻ります。例えば: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 8] [1 2 3 4 5 6 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

30
ABCのように簡単
入力 文字のそれぞれの最も1に含まれている文字列A、BとC。それらの順序は任意です。空の文字列は有効な入力です。 注:このチャレンジの以前のバージョンでは、LEJ代わりに文字ABCが使用されていましたが、必要に応じて引き続き使用できます。 出力 文字列A、B、C入力には存在していなかった手紙。それらの順序は任意です。 出力が空の文字列である場合、それが実装にとって意味がある場合、単に出力を与えないことは有効です。(たとえば、実際にprint空の文字列を呼び出す必要はありません。) 例 入力された場合B、出力のいずれかでなければならないCA、またはAC以降AとC入力には存在しません。 入力が空の文字列である場合、入力にはABC3文字が存在しないため、出力は任意の順列である必要があります。 入力がCAB3つの文字すべてが入力に存在するため、入力がその場合、出力は空の文字列になります。 テストケース 入力ケースが非常に少ないため、すべてを列挙できます。 in -> out1 | out2 | out3 | ... ABC -> "" ACB -> "" BCA -> "" BAC -> "" CAB -> "" CBA -> "" AB -> C AC -> B BC -> A BA -> …

22
自然な構造
0を含む自然数は、次のように正式にセットとして定義されます。 番号0は空のセット{}として定義されます 以下のために、N 0、数≥ nは +1として定義されるN ∪{ N }。 結果として、n = {0、1、...、n -1}。 この手順で定義される最初の番号は次のとおりです。 0 = {} 1 = {{}} 2 = {{}、{{}}} 3 = {{}、{{}}、{{}、{{}}}} チャレンジ 与えられたn、その表現をセットとして出力します。 ルール 出力は一貫して任意の使用できるブラケットなどの文字を{}、[]、()または<>。任意の文字(など01)は使用できません。 上記のようにコンマの代わりに、区切り記号には任意の句読記号を使用できます。または存在しない可能性があります。 スペース(改行ではなく)は、arbitrarily意的かつ一貫性なく含めることができます。 たとえば、角括弧とセミコロンを区切り文字とする数字2は[[]; [[]]]、または同等の[ [ ]; [ [ ] ] ]、または[ [ ] ;[ []]] 順序集合の要素は重要ではありません指定されています。したがって、表現では任意の順序を使用できます。たとえば、次の有効な出力は3次のとおりです。 {{},{{}},{{},{{}}}} {{{}},{{},{{}}},{}} {{{}},{{{}},{}},{}} プログラムまたは関数を作成できます。出力は文字列であるか、関数を使用している場合、文字列表現が上記に適合するネストされたリストまたは配列を返すことがあります。 …

11
このセットは自然数を表しますか?
集合論では、自然数は通常、純集合としてエンコードされます。これは、空集合または他の純集合のみを含む集合です。 。ただし、すべての純粋なセットが自然数を表すわけではありません。この課題は、特定の純粋なセットが自然数のエンコードを表すかどうかを決定することです。N = { 0 、1 、2 、3 、。。。}N={0、1、2、3、。。。}\mathbb{N} = \{0, 1, 2, 3, ...\} 自然数のエンコードは、次のように機能します1。 ゼロは空のセットです:Se t (0 )= { }Set(0)={} Set(0) = \{\} 数値:n > 0n>0n > 0Se t (n )= Se t (n − 1 )∪ { Se t (n − 1 )}Set(n)=Set(n−1)∪{Set(n−1)} Set(n) = Set(n-1) \cup …

9
Golf a Venn Diagramジェネレーター
Golf a Venn Diagramジェネレーター ジョンベンの180歳の誕生日を適切に祝うために、今日のタスクはベン図を出力するプログラムを作成することです! 入力: Nダイアグラムに表示される数値の範囲を定義する正の整数(ゼロからN)および3つの正の整数のセット。 出力: 0からすべての整数を示す3セットベン図N図の適切な領域にそれらを表示することにより、そして集合の関係を、これと同じ。 ノート を使用してstdin(または言語に相当するものは何でも)値を取得します。 セットおよびN(コンマ、スラッシュ、または最適なもので区切られた)の入力形式を定義できます。 どのセットにも表示されないが、指定された範囲内にある数字は、領域内ではなく、ダイアグラム上に表示される必要があります。 セットに名前を付ける必要はありません。 出力は、図面またはascii-artです。 図は、境界が明確に区別できる限り、どのような形状でもかまいません(たとえば、ASCIIアートを選択した場合、境界を越えるために+(または同様の)を使用することが不可欠です)。 領域はシェーディングする必要があるかもしれませんが、そうする必要はありません。 ベン図を生成する組み込み関数またはサードパーティライブラリは許可されません。 標準的な抜け穴が適用されます。 これはcode-golfであるため、バイト単位の最短コードが優先されます。

8
トポロジを確認する
チャレンジ T有限集合のサブセットの集合が与えられたS={1,2,3,...,n}場合T、トポロジーかどうかを判断します。 説明 Powersetの P(S)一部のセットのはS、すべての部分集合の集合ですS。いくつかの例: S = {}, P(S) = {{}} S = {1}, P(S) = {{}, {1}} S = {1,2}, P(S) = {{}, {1}, {2}, {1,2}} S = {1,2,3}, P(S) = {{}, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}} トポロジー Tセット上でSのサブセットでありP(S)、以下の特性を有します: {}あり、TありSますT もしAとBしているTそのように彼らの交点がありますA ∩ B もしAとBしているTそのように労働組合がありますA ∪ B* *この定義は完全に正しいものではありませんが、有限集合の場合に当てはまります。これはこの課題の目的には十分です。実際の公理は無限の結合も可能にしますが、それは有限の場合には無関係です。 …

22
再帰的な文字列置換
タスク 3つの文字列を指定してA, B, C、Binの各インスタンスがでA再帰的に置換された出力文字列を生成するプログラムまたは関数を記述しCます。再帰的に置換とは、各ステップで重複しないBinのすべてのインスタンスA(左から右に貪欲に選択)がに含まれなくなるCまで置換を繰り返すことを意味BしAます。 入出力 I / Oにはデフォルトのメソッドを使用できます。 文字列には、印刷可能なASCII文字のみが含まれます(また、それらのいずれかが含まれることもあります)。 B一方で、空の文字列になることはありませんAし、Cかもしれません。 文字列はプレーンテキストとみなされます。たとえば、扱うことはできません B。、正規表現パターンとして。 入力の一部の組み合わせは終了しません。これらの場合、プログラムは何でもできます。 テストケース これらは次の形式です。 A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty string} llllrrrr/lr/rl rrrrllll +-+-+-+/+-+/+ + ababababa/aba/bada badabbadbada abaaba/aba/ab abb ((())())())/()/{empty string} ) 終了しない例: grow/ow/oow loop/lo/lo
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

21
集合論を使用したスト​​リングの長さ
ウィキペディアより自然数の集合論的定義 自然数の集合Nは、0を含む最小集合として定義され、S(n)= n defined {n}で定義される後継関数Sの下で閉じられます。 このように定義された最初の数は、0 = {}、1 = {0} = {{}}、2 = {0,1} = {{}、{{}}}、3 = {0,1,2 } = {{}、{{}}、{{}、{{}}}}。 この自然数の定義を使用すると、文字列の長さがカウントされます。 任意の長さのa-zA-Zから文字列を入力します 文字列の長さを区切りなしのセット表記で出力します 例 空の文字列を入力してください 出力 {} 入力 する 出力 {{}} 入力 aaaa 出力 {{} {{}} {{} {{}}} {{} {{}} {{} {{}}}}} 区切り文字付きの「aaaa」の読みやすさの出力は { {} {{}} {{} {{}} } …

8
逆挿入ソート
目的 挿入ソートの動きから、元のスクランブルリストを生成しますするします。元のリストからすべての数字を持っているだろう0にN-1(包括的)N入力の大きさです。 入力 リストをソートするために必要な移動を含むリスト。各値は、元の(スクランブルされた)番号によって正しい位置に移動するスロットの量を表します。このプロセスは左から右であることに注意してください。入力リストの (0からインデックス付けされた)位置の値は、両端の値を含みます。 無効な入力を処理する必要はありません。この場合、どのような動作も許容されます(クラッシュ、無限ループなど)。i0i 出力 スクランブルリスト 動きを生成するためのステップバイステップ Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 is …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

13
シェルピンスキー層
はじめに、そのような下に線を追加することにより、パターンのようなシェルピンスキーの三角形/\を作成することができます... ゆるい枝/または\2つの枝に再び分割されます/\。 ブランチの衝突は、その\/下に何も(スペースはありません)死んでしまいます。 これらの規則を繰り返すと、 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... (ViHartによるインスピレーション) 正の整数Nを取り込んで、このパターンの最初のN行をstdoutに出力するプログラムまたは関数を作成します。必要以上に先行または後続のスペースはありません。 たとえば、入力が1出力の場合、 /\ 入力が2出力の場合 /\ /\/\ 入力が8出力の場合 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等々。 最小バイトのコードが優先されます。

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