タグ付けされた質問 「math」

課題には数学が含まれます。また、より具体的なタグの使用を検討してください:[数値] [数値理論] [算術] [組み合わせ] [グラフ理論] [形状] [抽象代数]。

1
正規表現の検証正規表現[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 去年閉鎖されました。 入力として正規表現文字列を受け入れ、それが有効かどうかを確認する正規表現を作成します。基本的に、正規表現はそれ自体を検証できるはずです。(無効な正規表現は検証されないため、使用できません.*。;) フレーバーは、よく知られている実装(Perl、sed、grep、gawkなど)によって完全にサポートされている必要があり、それらの実装がサポートするものを完全にサポートしている必要があります。[弁護士が話すことを心配しないでください。私は、スマート***の可能性のある抜け穴を削除しようとしています。] 私はそれをコードゴルフしたいと思いますが、機能が豊富ではないフレーバーを知って使用している人々に優位性を与えるのではないかと心配しています。または、私の心配は根拠がありませんか?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

11
スティーンロッド代数の基底要素を生成する
スティーンロッド代数は、代数トポロジーで現れる重要な代数です。スティーンロッド代数は、「スティーンロッド平方」と呼ばれる演算子によって生成されます。正整数iごとに1つ存在します。二乗演算の「許容可能な単項式」から成るスティーンロッド代数の基礎があります。この基盤を生成することが私たちの目標です。 各整数が次の整数の少なくとも2倍である場合、正の整数のシーケンスは許容可能と呼ばれます。したがって、たとえばおよび[7,2,1]ため、許容されます。一方、ため、許容できません。(トポロジーでは、シーケンスに対してを記述します)。7≥2∗27≥2∗27 \geq 2*22≥2∗12≥2∗12 \geq 2*1[3,2]3&lt;2∗23&lt;2∗23 < 2*2Sq7Sq2Sq1Sq7Sq2Sq1\mathrm{Sq}^7 \mathrm{Sq}^2\mathrm{Sq}^1[7,2,1] シーケンスの次数は、エントリの合計です。したがって、たとえば、次数[7,2,1]は7+2+1=107+2+1=107 + 2 + 1 = 10です。過剰許容シーケンスの最初の要素マイナス残りの元素の合計であるので、[7,2,1]過剰有する7−2−1=47−2−1=47 - 2 - 1 = 4。 仕事 正の整数のペアを取り、(d,e)次数dと超過の許容可能なすべてのシーケンスのセットを出力するプログラムを作成しeます。出力はセットなので、許容されるシーケンスの順序は関係ありません。 例: Input: 3,1 Output: [[2,1]] ここでは、合計3の許容シーケンスを探しています。2つのオプションが[3]あり[2,1]ます。([1,1,1]および[1,2]合計は3ですが、許容されません)。の過剰[3]は3で、過剰[2,1]は2−1=12−1=12-1 = 1です。従って、過剰の配列のみ≤1≤1\leq1[2,1]。 Input: 6, 6 Output: [[6], [5, 1], [4, 2]] (or any reordering, e.g., [[5,1],[4,2],[6]]) 過剰は常に次数以下であるため、過剰条件はありません。このように、私達はちょうどのオプションがある度6のすべての許容シーケンスを見つけるためにしようとしている[6]、[5, 1]と[4, 2]。(これらは、過剰有する666、5 − …

1
次数kの多項式にk + 2点が入らないような順列
説明 (インデックスと一緒に)ポイントのセットが次数の多項式に該当しない場合、整数の順列を最小補間{1, 2, ..., n}可能と呼びます。あれは、k+2k 水平線上に2点はありません(0次多項式) 3つの点が直線上にない(1次多項式) 放物線上に4つの点はありません(2次多項式) など。 チャレンジ OEISシーケンスA301802(n)を計算するプログラムを作成します。これは、{1, 2, ..., n}forの最小補間順列の数をn可能な限り大きくします。 得点 入力を増やしながら、コンピューター(2.3 GHz Intel Core i5、8 GB RAM)でコードの時間を計ります。スコアは、正しい値を出力するのに1分もかからない最大の入力になります。 例 たとえば、置換[1, 2, 4, 3]は次の理由で最小限に補間できます。 the terms together with their indices [(1, 1), (2, 2), (3, 4), (4, 3)] have the property that (0) No two points have …

5
階乗の因数分解
今日、統計クラスで、いくつかの階乗を一緒に乗算すると単純化できることがわかりました!例えば:5! * 3! = 5! *3*2 = 5! *6 = 6! あなたの仕事: アラビア数字と感嘆符のみを含む文字列が与えられた場合、あなたの言語の最小バイト数で、ゴルフのスタイルをコード化して、可能な限り短い文字列に階乗を単純化します。 入力 アラビア数字と感嘆符のみを含む文字列。入力の階乗は200!より大きくなりません。階乗には、数ごとに複数の階乗がありません。入力は整数のリストとして取得できます。 出力 入力に同等の値を持つ、おそらく短縮された文字列。順序は重要ではありません。階乗記法は必須ですが、数字ごとに複数の階乗記号を使用する必要はありません。 テストケース In: 3!2!2! Out: 4! In 2!3!2!0! Out: 4! In: 7!2!2!7!2!2!2!2! Out: 8!8! In: 23!3!2!2! Out: 24! Also: 4!! In: 23!3!2!2!2! Out: 24!2! In: 127!2!2!2!2!2!2!2! Out: 128! In: 32!56!29!128! Out: 29!32!56!128! 幸運を祈ります

7
分解をキューに入れる
この課題では、正方行列のQR分解を見つけるようにお願いします。行列AのQR分解は、A = QRである2つの行列QとRです。特に、Qが直交行列(Q T Q = QQ T = Iで、Iが乗法恒等式、Tが転置)であり、Rが上三角行列(その対角線より下のすべての値がゼロになる)。 適切な方法で正方行列を取り、任意の方法でQR分解を出力するコードを記述します。多くの行列には複数のQR分解がありますが、出力が必要なのは1つだけです。 結果のマトリックスの要素は、マトリックス内のすべてのエントリの実際の回答の小数点以下2桁以内である必要があります。 これはコードとゴルフのコンペティションなので、回答はバイト単位でスコアリングされ、バイト数が少ないほどスコアが高くなります。 テストケース これらは可能な出力のみであり、出力が有効である限り、これらすべてに一致する必要はありません。 0 0 0 1 0 0 0 0 0 0 0 0 -&gt; 0 1 0 0 0 0 0 0 0 0 0 1 , 0 0 0 1 0 0 1 0 0 …

2
論理ゲートでのゲリマンダーリング
多数決関数は、3つのブール入力を取り、最も一般的な値を返すブール関数です。たとえば、if maj(x,y,z)が多数決関数であり、TtrueをF示し、false を示す場合: maj(T,T,T) = T maj(T,T,F) = T maj(T,F,F) = F maj(F,F,F) = F この質問は、ブール関数を多数決関数の構成として記述することに関するものです。多数決関数の5進構成の例は(x1,x2,x3,x4,x5) =&gt; maj(x1,x2,maj(x3,x4,x5))です。この関数は、これらのサンプル入力ベクトルで次の出力を返します。 (T,T,F,F,F) =&gt; maj(T,T,maj(F,F,F)) = maj(T,T,F) = T (T,F,T,T,F) =&gt; maj(T,F,maj(T,T,F)) = maj(T,F,T) = T (T,F,T,F,F) =&gt; maj(T,F,maj(T,F,F)) = maj(T,F,F) = F (F,F,F,T,T) =&gt; maj(F,F,maj(F,T,T)) = maj(F,F,T) = F 仕事 ブール値の正の整数nと長さnのベクトルのリストを入力し、可能であれば与えられたすべてのベクトルでtrueを返す多数決ゲートのツリーを出力するプログラムを作成します。この関数は、制約のリストにないベクトルに対してtrueまたはfalseを返す場合があります。 ベクトルのリストは、任意の形式で入力できます。必要に応じて、ベクトルを入力する代わりに、ベクトル内の真の位置のリストを入力できます。したがって、たとえば、[TTF,TFT,FTT]or [[T,T,F],[T,F,T],[F,T,T]]または[[1,2],[1,3],[2,3]](真の位置のリスト)はすべて問題ありません。 …

8
可能な限り悪である
前書き これは、あなたがその人の邪悪な双子の役割を担っているこの挑戦のフォローアップです。悪であるため、シェアを最大化するのではなく、可能な限り不公平になり、それをあまりにも明白にしないため、次のスキームを思いつきました。 兄弟のようにできるだけ公平になりたいことを他の人に伝え、整数を等しい長さの断片に分割します。したがって、整数ごとに、適切な人数の人々を見つけて、最大のピースと最小のピースの差が最大になるようにします。 たとえば、整数6567を指定した場合、そのままにして、2つ65,67または4 つに分割できます6,5,6,7。これにより、次の最大の違いが得られます。 6567 -&gt; max() = 0 65,67 -&gt; max(|65-67|) = 2 6,5,6,7 -&gt; max(|6-5|,|6-5|,|6-6|,|6-7|,|5-6|,|5-7|,|6-7|) = 2 あなたが唯一の悪になりたいので、あなたは好まない67にわたる7ため、あなたは出力のどちらかでしょう2か4。 別の(あまり特別なケースではない); 整数121131を指定すると、次のように分割できます。 121131 -&gt; max() = 0 121,131 -&gt; max(|121-131|) = 10 12,11,31 -&gt; max(|12-11|,|12-31|,|11-31|) = 20 1,2,1,1,3,1 -&gt; max(…) = 2 今回は1つの解決策しかありません。つまり3、3人で最大の違いがあるためです。 チャレンジ 整数を考えると決めるどんな最大限に悪であることの可能な方法をと報告した人々の数、これを達成するために必要なの。 ルール 入力は常に≥1 入力は、整数、数字のリスト、または文字列のいずれかです 無効な入力を処理する必要はありません …

23
範囲累乗整数のシーケンス
三角形検討N行目(1-インデックス付き)が最初の配列であるNの正の整数パワーNを。最初の数行は次のとおりです。 N | 三角形 1 | 1 2 | 2 4 3 | 3 9 27 4 | 4 16 64 256 5 | 5 25125625 3125 ... これらのパワーを1つのシーケンスに連結すると、OEIS A075363が得られます。 1, 2, 4, 3, 9, 27, 4, 16, 64, 256, 5, 25, 125, 625, 3125, 6, 36, 216, 1296, 7776, …

30
一連の課題#3:移動平均
注:これは、一連のアレイ操作の課題の3 番目です。前のチャレンジについては、ここをクリックしてください。 リストの移動平均 リストの移動平均は、元の小さな重複サブリストを平均化することによって作成された、新しい平滑化されたリストを生成する計算です。 移動平均を作成するとき、特定の「ウィンドウサイズ」を使用して重複するサブリストのリストを最初に生成し、このウィンドウを毎回右にシフトします。 たとえば、リスト[8, 4, 6, 2, 2, 4]とウィンドウサイズを指定する3と、サブリストは次のようになります。 [8, 4, 6, 2, 2, 4] Sublists: ( ) &lt;- [8, 4, 6] ( ) &lt;- [4, 6, 2] ( ) &lt;- [6, 2, 2] ( ) &lt;- [2, 2, 4] 次に、各サブリストの平均値を計算して結果を取得します[6.0, 4.0, 3.3, 2.7](各値は小数点以下1桁に丸められます)。 チャレンジ あなたの仕事は、リストLおよび整数1≤n≤length(L)が与えられ、ウィンドウサイズnを使用してLの移動平均を計算するプログラムまたは関数を書くことです。 ルール: プログラムでは、整数除算または浮動小数点除算を使用できます。浮動小数点除算の場合、値がそれ以外の場合に正しい限り、データ型の制限によるわずかな不正確さが許可されます。 …

11
逆正接の合計の正接を見つける
バックグラウンド 任意の整数に対してk &gt;= 0、f(k) = tan(atan(0) + atan(1) + atan(2) + ... + atan(k))有理数であることを示すことができます。 ゴール 与えられたときに単一の簡約された分数としてk &gt;= 0出力する完全なプログラムまたは関数を書きますf(k)(分子と分母は互いに素です)。 テストケース 最初のいくつかの値は f(0) = (0,1) f(1) = (1,1) f(2) = (-3,1) f(3) = (0,1) f(4) = (4,1) f(5) = (-9,19) f(6) = (105,73) ルール 標準的な抜け穴は禁止されています。 入力および出力は、任意の便利な形式にできます。あなたは、出力してもよいf(k)文字列としてnumerator/denominator2つの整数のタプル、分数や合理的なオブジェクト、などあなたは、出力文字列は、唯一の2つの整数を与えると、として、出力3/2の代わりに1 1/2。 これはコードゴルフで、最短の回答(バイト単位)が勝ちです。

24
連結された三角形の行を合計します
次の三角形を考えてください。 1 23 456 7891 01112 131415 1617181 92021222 324252627 2829303132 33343536373 839404142434 4454647484950 51525354555657 585960616263646 5666768697071727 37475767778798081 お気づきのとおり、最初の行の長さは1で、その後の各行は前の行よりも1桁長く、連結された正の整数の桁が含まれています。 整数Nが与えられます。あなたの仕事は、上の三角形のN番目の行にある数字の合計を見つけることです。 ルール 0または1のインデックス作成を選択できます。答えにそれを明記してください。 デフォルトの抜け穴が適用されます。 入力を取得し、任意の標準手段によって、適切な形式で出力を提供できます。 これはOEIS A066548であり、このシーケンスは三角形自体です(ただし、先行ゼロを削除しないことを除く)。 これはcode-golfなので、バイト単位の最短コード(すべての言語で)が勝ちます。ゴルフをお楽しみください! テストケース Input | Output 0 | 1 1 | 5 2 | 15 3 | 25 4 | 5 5 | 15 6 …

16
パーティションはいくつありますか?
正の整数のパーティション番号は、正の整数の合計として表現できるウェイの数として定義されます。言い換えれば、それが持っている整数パーティションの数。たとえば、番号4には次の部分があります。 [[1、1、1、1]、[1、1、2]、[1、3]、[2、2]、[4]] したがって、5パーティションがあります。これはOEIS A000041です。 仕事 与えられた正の整数Nは、そのパーティション番号を決定します。 すべての標準ルールが適用されます。 入力および出力は、合理的な手段で処理できます。 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース 入力| 出力 1 | 1 2 | 2 3 | 3 4 | 5 5 | 7 6 | 11 7 | 15 8 | 22 9 | 30 10 | 42

9
無限の連鎖を作る
関数のクラスを定義しましょう。これらの関数は、正の整数から正の整数にマップし、次の要件を満たしている必要があります。 この関数は全単射である必要があります。つまり、すべての値が正確に1つの値にマッピングされ、マッピングされます。 関数またはその逆を繰り返し適用することにより、正の整数から他の正の整数に到達できる必要があります。 次に、入力でこのクラスの任意の1つの機能を実行するコードを作成します。 これはコードゴルフの質問なので、回答はバイト単位でスコアリングされ、バイト数が少ない方が良いでしょう。
16 code-golf  math  number 

7
完全な正方形のみを含むパーティションはいくつありますか?
非負の整数または数字のリストが与えられた場合、先行ゼロが含まれる可能性のある平方数を連結することで、いくつの方法で数を形成できるかを決定します。 例 input -&gt; output # explanation 164 -&gt; 2 # [16, 4], [1, 64] 101 -&gt; 2 # [1, 01], [1, 0, 1] 100 -&gt; 3 # [100], [1, 00], [1, 0, 0] 1 -&gt; 1 # [1] 0 -&gt; 1 # [0] 164900 -&gt; 9 # [1, 64, …

2
各フィールドサイズのプリミティブ要素を出力する
原始有限フィールドのフィールドの乗法群の生成元です。つまり、alphain F(q)は、in q−1の単一性の原始thルートである場合、原始要素と呼ばれF(q)ます。これは、のすべての非ゼロ要素を何らかの(正の)整数F(q)として記述できることを意味します。alpha^ii フィールドのすべての要素がF_{2^k}高々度の多項式として書くことができるk-1のいずれかである係数を持ちます1か0。これは完全なものにするために、あなたのコードも出力する必要がある既約多項式次数のk使用しているフィールドを定義します。 タスクはF_{2^k}、それぞれk = 1 .. 32に選択したプリミティブ要素を順番に出力するコードを書くことです。 出力は、単純kな要素の係数を任意の形式で単純にリストし、k+1さらに既約多項式の要素を別の行にリストする必要があります。k可能であれば、各値の出力を分離してください。 コードは好きなだけ時間がかかりますが、回答を送信する前にコードを最後まで実行する必要があります。 有限フィールドのプリミティブ要素を返す、または要素がプリミティブであるかどうかをテストする組み込み関数またはライブラリ関数を使用することはできません。 例 以下のためにk = 1のみ原始元です1。 以下のためにk = 2、私たちは持っています F_4。4つの要素がある{0, 1, x, x + 1}ため、2つのプリミティブ要素xとがありx + 1ます。したがって、コードは出力できます 1 1 1 1 1 例えば係数として、2行目は既約多項式で、この場合はx^2+x+1係数を持ち1 1 1ます。

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