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

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

10
素数インデックス付きの素数
最初の10000個の素数付き素数を出力/返すプログラムまたは関数を作成します。 n 番目の素数を呼び出すとp(n)、このリストは 3, 5, 11, 17, 31, 41, 59 ... 1366661 なぜなら p(p(1)) = p(2) = 3 p(p(2)) = p(3) = 5 p(p(3)) = p(5) = 11 p(p(4)) = p(7) = 17 ... p(p(10000)) = p(104729) = 1366661 標準的な抜け穴は禁止されており、標準的な出力方法が許可されています。完全なプログラム、名前付き関数、または匿名関数で答えることができます。
13 code-golf  math  primes 

4
端数を削減しない方法
分数を間違った方法で減らす このコードとゴルフのチャレンジでは、間違った方法で減らすことはできますが、それでも同じ数になる分数を見つける必要があります。 注:ここで間違った方法で分数を減らすことには正確な定義があります。詳細を参照してください。 例: 64/16 = 6 4/1 6 = 4/1 = 4 もちろん、両方の6esを打つことはできませんが、ここでも正しい値になります。この課題では、このような例を見つける必要があります。 詳細 n入力として1つの正の整数を受け入れ、形式で分数のリスト/配列を出力/返す関数/プログラムを作成する必要があります numerator1,denominator1,numerator2,denominator2,... プログラムは、各分画のために見つけるために持っているa/bとa+b=nし、a,b>0それを軽減することができるかどうか間違った方法を。(従来の方法で削減できるかどうか、または削減の多くの可能性があるかどうかは関係ありませんが、少なくとも1つの方法で間違った方法で削減できればよいだけです。) 定義 間違った方法は:割合を低減することができる間違った方法を場合にのみ、およびbで連続した数字が現れるのと同じ順序とあなたが部分文字列を削除する場合分数滞在の値が同じであれば。 例:1536/353を16/3に「減らす」ことができますが、これらの2つの値は等しくないため、この割合を間違って減らすことはできません。 間違った方法を減らすというこの定義には、正しい方法で減る分数も含めることができることに注意してください。これは、有効なステップであっても間違った方法110/10 = 11/1を減らすという定義の範囲内です。 得点 最小バイト数が優先されます。整数を受け入れ、stdin / stdoutを使用する配列またはプログラムを返す関数またはプログラムを作成するか、変数にnを保存し、プログラムの最後にリストを他の変数に保存する必要があると考えることができます。 テストケース 次のテストケースを含めてください(追加するテストケースを教えてください。それらのフラクションの数/予想される例の数はわかりません) n=80 (64/16 should be in this list) n=147 (98/49 should be in this list) n=500 (294/196 should be in this …

1
Collat​​zのようなシーケンスの分析
4つの正の整数でCollat​​zのようなシーケンスを定義しsます。 n 開始値 d > 1 除数 m > 1 乗数 i インクリメント (元のCollat​​zシーケンスd = 2 m = 3およびi = 1。) これらの整数sは次の方法で作成されます。 s(0) = n もしk > 0およびs(k-1) mod d = 0その後、s(k) = s(k-1) / d もしk > 0およびs(k-1) mod d != 0その後、s(k) = s(k-1) * m + i シーケンス例d …

17
が素数になるように、最小
バックグラウンド 次のシーケンスを検討してください(OEISのA051935): 用語始め222ます。 最小の整数検索より大きい2ような2 + nが素数であるが。nnn2222+n2+n2+n 2 + n + n 'が素数になるように、nより大きい最小の整数を見つけます。n′n′n'nnn2+n+n′2+n+n′2 + n + n' より正式な定義: an={2min{x∈N∣x>an−1 and (x+∑n−1i=0ai) is prime}if n=0otherwisean={2if n=0min{x∈N∣x>an−1 and (x+∑i=0n−1ai) is prime}otherwisea_n=\begin{cases}2 & \text{if }n=0 \\ \min\{x\in\Bbb{N}\mid x>a_{n-1} \text{ and }\left(x+\sum_{i=0}^{n-1}a_i\right) \text{ is prime}\} & \text{otherwise}\end{cases} シーケンスの最初のいくつかの用語は次のとおりです(テストケースとしてこれらを参照してください)。 2, 3, 6, 8, 10, 12, 18, …

30
最後の桁の大きな数字
番号の指定されたリストは、x x x … x n 3 2 1の最後の桁を見つける 例:[x1,x2,x3,...,xn][x1,x2,x3,...,xn][x_1, x_2, x_3, ..., x_n]xxx…xn321x1x2x3…xnx_1 ^{x_2 ^ {x_3 ^ {\dots ^ {x_n}}}} [3, 4, 2] == 1 [4, 3, 2] == 4 [4, 3, 1] == 4 [5, 3, 2] == 5 なぜなら。3(42)=316=430467213(42)=316=430467213 ^ {(4 ^ 2)} = 3 ^ {16} …
12 code-golf  math 

2
多項式の分解
厳密に1より大きい次数の積分多項式が与えられた場合、それを厳密に1より大きい次数の積分多項式の合成に完全に分解します。 詳細 整数多項式は係数として整数のみを持つ多項式です。 2つの多項式を考えるpと、組成物は、によって定義されます。q(p∘q)(x):=p(q(x)) 分解の積分多項式のはp不可欠な多項式の有限順序付けられたシーケンスであるすべてのためにと、すべてさらに分解性ではありません。分解は必ずしも一意ではありません。q1,q2,...,qndeg qi > 11 ≤ i ≤ np(x) = q1(q2(...qn(x)...))qi たとえば、係数のリストを使用したり、入力および出力として組み込みの多項式タイプを使用したりできます。 このタスクの多くの組み込み関数は、実際には整数ではなく、特定のフィールド上の多項式を実際に分解しますが、この課題には分解整数多項式が必要です。(一部の整数多項式は、有理多項式を含む分解と同様に整数多項式への分解を許可する場合があります。) 例 x^2 + 1 [x^2 + 1] (all polynomials of degree 2 or less are not decomposable) x^6 - 6x^5 + 15x^4 - 20x^3 + 15x^2 - 6 x - 1 [x^3 - 2, …

30
整数対数
整数が与えられるとN , P > 1、Mそのような最大の整数を見つけるP ^ M ≤ N。 I / O: 入力は2つの整数Nとで与えられますP。出力は整数になりMます。 例: 4, 5 -> 0 33, 5 -> 2 40, 20 -> 1 242, 3 -> 4 243, 3 -> 5 400, 2 -> 8 1000, 10 -> 3 ノート: 入力は常に有効です。つまり、常に1より大きい整数になります。 クレジット: 名前の功績は@cairdcoinheringaahingにあります。最後の3つの例は@Nitrodonによるもので、説明を改善した功績は@Giuseppeにあります。

5
スパース分度器
何らかの正の整数が与えられた場合n、マークの数が最も少ない分度器を設計します。これにより、2π/n(それぞれの測定で)の整数倍であるすべての角度を測定できます。 詳細 出力として、各マークの位置を表す0to n-1(または1to n)の範囲の整数のリストを出力できます。別の方法としては、長さの出力文字列/一覧表示することができますnと#、各マークの位置との_何もありません(アンダースコア)。(または2つの異なる文字をより便利になります。) 例:についてn = 5、あなたはすべての角度を測定することができるように、正確に3マークが必要2π/5, 4π/5, 6π/5, 8π/5, 2πで(例えば)1つのマークを設定することにより、01つのマーク、2π/5および1つのマークがで6π/5。これをリスト[0,1,3]または文字列としてエンコードできます##_#_。 例 出力は必ずしも一意ではないことに注意してください。 n: output: 1 [0] 2 [0,1] 3 [0,1] 4 [0,1,2] 5 [0,1,2] 6 [0,1,3] 7 [0,1,3] 8 [0,1,2,4] 9 [0,1,3,4] 10 [0,1,3,6] 11 [0,1,3,8] 20 [0,1,2,3,6,10] PS:これはスパースルーラーの問題に似ていますが、線形スケール(両端)の代わりに、円形(角度)スケールを考慮します。 PPS:このスクリプトは、それぞれのマークのセットの一例を計算する必要がありますn。オンラインでお試しください! PPPS:@ngnが指摘したように、この問題は次数の循環グループの最小差分ベースを見つけることと同等nです。最小注文はhttp://oeis.org/A283297にリストされており、いくつかの理論的範囲はhttps://arxiv.org/pdf/1702.02631.pdfにあります

8
ハフニアンをできるだけ早く計算する
課題は、行列のハフニアンを計算するために可能な限り速いコードを書くことです。 対称のHafnian 2n行列の2n行列はA次のように定義されます。 ここで、S 2nはから1までの整数のすべての順列の集合2n、つまりを表し[1, 2n]ます。 ウィキペディアのリンクはまた、興味を引くかもしれない異なる見た目の数式を提供します(さらにWebを見ると、さらに高速な方法が存在します)。同じWikiページで隣接行列について説明していますが、コードは他の行列でも機能するはずです。値はすべて整数であると仮定できますが、すべてが正であるとは限りません。 より高速なアルゴリズム もありますが、理解するのは難しいようです。そして、Christian Sieversが(Haskellで)最初に実装しました。 この質問では、行列はすべて正方形で、偶数次元で対称です。 参照実装(これは可能な限り遅い方法を使用していることに注意してください)。 Xcoder氏のpythonコードの例を次に示します。 from itertools import permutations from math import factorial def hafnian(matrix): my_sum = 0 n = len(matrix) // 2 for sigma in permutations(range(n*2)): prod = 1 for j in range(n): prod *= matrix[sigma[2*j]][sigma[2*j+1]] my_sum += prod return my_sum …

4
適切な合計で行列の数を計算する
Steenrod代数のMilnor基底で単項式を乗算する場合、アルゴリズムの一部には特定の「許容行列」の列挙が含まれます。 非負整数r 1、...、r mおよび s 1、...、s nの 2つのリストが与えられ、非負整数Xの行列 次の場合に許容されます j番目の列の合計はs j以下です。 2のべき乗で重み付けされたi番目の行の合計は、r i以下です。 仕事 リストr 1、...、r mおよびs 1、s 1、...、s nのペアを取り、これらのリストに許容される行列の数を計算するプログラムを作成します。プログラムは、必要に応じて、オプションでmおよびnを追加の引数として使用できます。 これらの番号は、好きな形式で入力できます。たとえば、リストにグループ化したり、単項でエンコードしたり、その他何でもかまいません。 出力は正の整数でなければなりません 標準の抜け穴が適用されます。 得点 これはコードゴルフです。バイト単位の最短ソリューションが勝ちです。 例: 以下の場合[2]と[1]、2人の許容行列があります。 用[4]と[1,1]3人の許容行列があります。 用[2,4]と[1,1]5人の許容行列があります。 テストケース: Input: [1], [2] Output: 1 Input: [2], [1] Output: 2 Input: [4], [1,1] Output: 3 Input: [2,4], [1,1] Output: 5 …

5
1つから2つを取得
この質問で見たように、複雑な論理ステートメントは、一般化された掃海艇の単純な接続詞で表現できます。ただし、一般的な掃海艇にはまだ冗長性があります。 これらの冗長性を回避するために、「Generalized-1 Minesweeper」という新しいゲームを定義します。 Generalized-1 Minesweeperは、任意のグラフで実行されるバージョンの掃海艇です。グラフには、「インジケータ」または「値」という2種類の頂点があります。値はオンまたはオフ(地雷または不発地)のいずれかになりますが、その状態はプレイヤーに知られていません。インジケータは、隣接するセルの1つが正確にオンであることを示します(鉱山)。インジケーターは地雷としてはカウントされません。 たとえば、一般的なマインスイーパの次の掲示板では、セルAとBが両方とも地雷であるか、どちらも地雷ではないことがわかります。 (図ではインジケーターは灰色でマークされ、値は白です) オフになっている値をクリックしてインジケーターを表示する通常の掃海艇とは異なり、一般化された掃海艇にはそのようなメカニズムはありません。プレーヤーは、グラフのどの状態でインジケータを満たすことができるかを単純に決定します。 あなたの目標は2、Generalized-1 Minesweeper を作ることです。Generalized-1 Minesweeperで構造を構築し、8つの特定のセルに対して、値のすべての可能な構成でちょうど 2つのセルがオンになるようにします。これ2は、従来の掃海艇と同じように動作することを意味します。ソリューションを作成するとき、値セルに特定の値を念頭に置いてはいけません。(H.PWizの質問への回答では、一部の値セルが状態から推定できる場合があります) 得点 回答は、最終グラフの頂点の数から8(8入力の場合)を引いたものでスコア付けされ、スコアが低いほど優れています。このメトリックで2つの回答が同点の場合、タイブレーカーはエッジの数になります。

3
「寛大な」金額のローン
前書き ローンを頼み続ける友人がいて、それに飽きています。今日、彼は再び融資を受けました。彼の申し出を断る代わりに、あなたは素晴らしいアイデアを得ます:できるだけ多くのコイン/手形を彼に与えることによってあなたの友人を荒らしてください。 チャレンジ 入力として受け取ります:あなたの友人がローンを望んでいるお金の量とあなたが持っているコイン/手形の量。このチャレンジでは、可能な金額は20.00ドル、10.00ドル、5.00ドル、2.00ドル、1.00ドル、0.25ドル、0.10ドル、0.05ドル、0.01ドルです。入力の例は次のとおりです。5.67, [5, 3, 4, 5, 5, 9, 8, 1, 2]、友人が$ 5.67を望んでいて、5ドルの20ドル札、3ドルの10ドル札などがある場合です。あなたの出力は、友人にできるだけ多くの金属/紙/プラスチックを与えるコイン/紙幣の量です。 友だちに必要な金額を正確に渡すことができない場合は、友だちが望む金額よりも大きい金額を最も近い金額で支払います。たとえば、友人が0.07ドルを望んでいるが[0, 0, 0, 0, 0, 2, 4, 2, 0]、持っているのがの場合、2枚の$ 0.05コインを与えます(1 0.10ドルではありません。 あなたの友人があなたが持っているよりも多くのお金を望んでいるなら、彼にあなたのすべてのお金を与えてください(そしてあなたが何も買う必要がないように祈ってください)。 テストケース Input: 6.54, [9, 8, 7, 6, 5, 4, 3, 2, 4] Output: [0, 0, 0, 1, 4, 1, 2, 1, 4] Input: 2, …
12 code-golf  math 

7
因子の合計数
正の整数n> 1が与えられた場合、積がnである 1より大きい整数を追加することにより、いくつの数値を作成できるかを決定します。たとえば、n = 24の場合、次の方法でnを製品として表現できます。 24 = 24 -> 24 = 24 24 = 12 * 2 -> 12 + 2 = 14 24 = 6 * 2 * 2 -> 6 + 2 + 2 = 10 24 = 6 * 4 -> 6 + 4 = 10 24 …

1
優れた複合数
優れた高度に合成された数は、除数の数と数の累乗の比が可能な限り高い整数です。これを式として表現する: d(n)をnの約数(数自体を含む)とします。特定の整数nについて、整数kごとにd(n)/ n ^ eがd(k)/ k ^ e以上の数eが存在する場合、nは高度に合成された数です。 詳細については、ウィキペディアの「優れた複合番号」またはA002201を参照してください OEISのを。 初期値は次のとおりです。 2, 6, 12, 60, 120, 360, 2520, 5040, 55440, 720720, 1441440, 4324320, 21621600, 367567200, 6983776800, 13967553600, 321253732800, 2248776129600, 65214507758400, 195643523275200, 6064949221531200 課題は、インデックスnを取得し、このシーケンスのn番目の数値を出力することです。 0または1のインデックスを使用できます。また、少なくとも最初の10個の値を処理できる限り、言語のデータ型の制限までのみ正しいプログラムを作成できます。 これはコードゴルフです。標準の抜け穴が適用されます。

6
有理生成関数の係数を見つける
数値のシーケンスをべき級数の係数として記述する場合、そのべき級数はそのシーケンスの(通常の)生成関数(またはGf)と呼ばれます。つまり、ある関数F(x)と一連の整数a(n)について次のようになっている場合: a(0) + a(1)x + a(2)x^2 + a(3)x^3 + a(4)x^4 + ... = F(x) 次にF(x)はの生成関数ですa。たとえば、幾何級数は次のことを示しています。 1 + x + x^2 + x^3 + x^4 + ... = 1/(1-x) したがって、の生成関数は1, 1, 1, ...です1/(1-x)。上記の式の両側を微分して乗算するxと、次の等式が得られます。 x + 2x^2 + 3x^3 + 4x^4 + ... = x/(1-x)^2 したがって、の生成関数は1, 2, 3, ...ですx/(1-x)^2。関数の生成は非常に強力なツールであり、それらを使用して多くの便利なことができます。簡単な紹介はここにありますが、本当に徹底的な説明のために、素晴らしい本生成機能があります。 この課題では、入力として有理関数(整数係数を持つ2つの多項式の商)を、最初に分子、次に分母の2つの整数係数の配列として受け取ります。たとえば、関数f(x) = x …
12 code-golf  math  integer  polynomials  code-golf  math  abstract-algebra  restricted-time  code-golf  math  primes  code-golf  math  number  arithmetic  code-golf  quine  code-golf  number  sequence  code-golf  string  number  code-golf  array-manipulation  code-golf  number  code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

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