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

数論は、主に正の整数である数の性質と関係を含みます。

4
Crazy Librarianの興味深いPrime Permutation Index Number Generator
プライムシーケンスコードで1日を節約し、数学の先生はそれを気に入ってくれました。あまりにも多くのことで、司書(あなたの上司)に新たな挑戦がもたらされました。おめでとうございます。図書館員が数学教師に再び感銘を与えることができるように、ソリューションをコーディングすることができます。 10を底とするNの自然数のシーケンスから始めます 0、1、2、3、4、5、6 ... 0およびを除外すると1、このシーケンスのすべての数値は、P、P 2、3、5、7、11、13 ... またはコンポジット、C 4、6、8、9、10、12、14、15、16、18、20、20 ... 司書思想から数の小数展開に整数数字を挿入する方法に反映P、数学教師ではなく関数作成G(x、y)は数取りxからNと1 <= x <= 9し、番号をyからCとインサートxにしy一意の数字のみを選択して、左から右の順に、すべての位置の10進数展開。 たとえば、G(3,14)は314, 134, 143です。しかし、G(1,14)があるだけで114, 141、あなたが前に付加または挿入するかどうかのように、1中に14、同じ番号が114生成されます。 数学の先生は、あなたがの番号を取得する前に、これらの置換を行う必要があるだろう何回不思議に思っPを、あなたがかかった場合、x昇順に。数学の先生は、これを数値の複合プライムインデックスと呼び、CPI(y)と書きました。 たとえば、4:二回しか行われる必要が14, 41あるため、41素数であるので、CPI(4)があります2。ただし、素数になる前に86回行う必要があるため、CPI(8)はです。18, 81, 28, 82, 38, 83836 あなたの仕事は、入力番号を指定して、このComposite-Prime Indexを出力するコードを書くことです。 入力 単一の整数yような、yであるC、関数の引数、STDIN、または同等介して入力。 計算のためyに、通常の整数範囲に収まると仮定できます(たとえば、上限を2 31 -1 と仮定)。 Cにyない場合の動作は未定義です。 出力 上記のように計算された結果のComposite-Prime Indexは、2つの例外を除き、STDOUTまたは同等のものに出力されます。 場合は非常に最後の順列は(すなわち、追加9するにはy)首相、出力結果は1です-1。以下に展開する例はy=14です。 順列がない場合(つまり、G(x、y)がすべてのCのサブセットである場合1 <= x <= 9)、output 0。以下に展開する例はy=20です。 例 y -> operations …

3
自然に線形なディオファンチン方程式
2変数の線形ディオファントス方程式は、ax + by = cの形式の方程式です。ここで、a、b、およびcは定数整数であり、xおよびyは整数変数です。 多くの自然に発生するディオファントス方程式では、xとyは負の値にできない量を表します。 仕事 係数を受け付けるプログラムまたは機能書き込み、B及びCの入力及び戻りのような任意の一対の自然数(0、1、2、...)のx及びyは式検証すること= cで+ AXを例えば一対場合、存在します。 追加のルール 入力にコードを埋め込まない限り、目的の整数のみを含む入力および出力の任意の形式を選択でき、オプションで言語の配列/リスト/行列/タプル/ベクトル表記を選択できます。 係数aとbが両方ともゼロではないと仮定できます。 コードは、の間の整数のいずれかのトリプレットのために働く必要があり-2 60と2 60。私のマシン(Intel i7-3770、16 GiB RAM)で1分以内に終了する必要があります。 あなたは、このようなMathematicaのようディオファントス方程式を解くため、このタスクを矮小任意のビルトインを、使用することはできませんFindInstanceかFrobeniusSolve。 時間制限に準拠し、その出力が有効なソリューションと混同されない限り、ソリューションが見つからない場合でも、コードは希望どおりに動作します。 標準のコードゴルフ規則が適用されます。 例 以下の例は、方程式2x + 3y = 11の有効なI / Oを示しています。これには、正確に2つの有効な解((x、y)=(4,1)および(x、y)=(1,3))があります。 Input: 2 3 11 Output: [4 1] Input: (11 (2,3)) Output: [3],(1) 2x + 3y = 2の唯一の有効なソリューションは、ペア(x、y)=(1,0)です。 以下の例は、式2x + 3y …

6
反復除数ツイスト
定義 ましょうmとn正の整数です。私たちは、すなわちmある除数のねじれのn整数が存在するかの1 < a ≤ bようにn = a*bとm = (a - 1)*(b + 1) + 1。ゼロまたはそれ以上の除数ツイストをそれに適用するmことで取得できる場合、はの子孫です。すべての数字はそれ自身の子孫であることに注意してください。nmn たとえば、検討してくださいn = 16。私たちは、選択することができますa = 2し、b = 8以来、2*8 = 16。それから (a - 1)*(b + 1) + 1 = 1*9 + 1 = 10 これ10はの約数のねじれであることを示しています16。とa = 2とb = 5、私たちは、その参照7の除数ねじれです10。したがって7、はの子孫です16。 タスク 正の整数nを指定すると、の子孫をn、重複することなく昇順でリストします。 ルール 数値の約数を計算する組み込み操作を使用することはできません。 完全なプログラムと関数の両方が受け入れられ、コレクションデータ型(何らかの種類のセットなど)を返すことは、並べ替えられ、重複がない限り許可されます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース 1 …

8
中心二項係数の数字の合計
タスクは、Pythonの組み込み関数よりもnを(nでも)nを選択して計算できる速度を確認することです。もちろん、nが大きい場合、これはかなり大きい数値なので、整数を出力するのではなく、桁の合計を出力する必要があります。たとえば、のn = 100000場合、答えは135702です。n=1000000それがあります1354815。 Pythonコードは次のとおりです。 from scipy.misc import comb def sum_digits(n): r = 0 while n: r, n = r + n % 10, n / 10 return r sum_digits(comb(n,n/2,exact=True)) あなたのスコアは (highest n on your machine using your code)/(highest n on your machine using my code)です。コードは60秒以内に終了する必要があります。 プログラムは、すべての偶数nに対して正しい出力を提供する必要があります。2<= n <=(最高のn) すぐに二項係数に変換できる二項係数または値を計算する組み込みコードまたはライブラリを使用することはできません。 任意の言語を使用できます。 …

11
Nドア、Kモンキーズ
N個のドアとK個の猿がいます。最初は、すべてのドアが閉じられています。 ラウンド1:最初のサルがすべてのドアを訪れ、ドアを切り替えます(ドアが閉じている場合は開かれ、開いている場合は閉じられます)。 ラウンド2:最初のサルがすべてのドアを訪れ、ドアを切り替えます。その後、2番目のサルは2番目のドアごとに訪問し、ドアを切り替えます。 。。。 。。。 ラウンドk: 最初のサルがすべてのドアを訪れ、ドアを切り替えます。。。。。。。。。。k番目のサルはk番目のドアをすべて訪れ、ドアを切り替えます。 入力: NK(単一のスペースで区切られる) 出力: 単一のスペースで区切られた開いているドア番号。 例: 入力:3 3 出力:1 2 制約: 0 <N <101 0 <= K <= N 注: N個のドアには1からNまでの番号が付けられ、K個の猿には1からKまでの番号が付けられているとします 最短のコードを持つものが勝ちます。また、N = 23、K = 21の出力を表示します

3
Brainfuckのビット演算子
あなたの仕事は、以下の二項演算子のそれぞれに対して1つのBrainfuckプログラムを作成することです。各プログラムは、入力から1つまたは2つの8ビット数(AおよびB)を取得し、指定された操作を計算する必要があります。 A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 5つすべてを実装する必要はありません。スコアは次の方法で計算されます。 #totalCharacters + {4000 * #problemsNotCompleted} したがって、有効なスコアはゼロ(最高)から20,000(何も完了していない)までです。 結果を保存する場所や、入力を保存するかどうかは気にしません。8ビットセル、および必要なだけの空のセルを右側にのみ想定します。 最適なメモリ位置に番号がすでにあると仮定することができるので、IO操作を心配する必要はありません。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

5
複数の方法で完璧な力?
チャレンジ あなたの仕事は、正の整数Nが与えられると、複数の方法で完全なベキとして表現できるN以下のすべての正の整数を見つけるプログラムまたは関数を書くことです。 定義 完全なパワーは、m ^ kで見つかった数値iとして定義されます。ここで、 mとiは正の整数です m!= k テストケース 入力->出力 1000-> 16、64、81、256、512、625、729 56-> 16 999-> 16、64、81、256、512、625、729 81-> 16、64、81 1500-> 16、64、81、256、512、625、729、1024、1296 読みやすいコメント付きのバージョンも提供してください。

7
許容されるシーケンスのテスト
エグゼクティブサマリー:整数の入力シーケンスが「許容される」かどうかをテストします。これは、モジュラスのすべての剰余クラスをカバーしないことを意味します。 「許容される」シーケンスとは何ですか? 整数m≥2が与えられた場合、mを法とする剰余類は、共通の差mのmの算術級数になります。たとえば、m = 4の場合、4を法とする4つの剰余クラスは ..., -8, -4, 0, 4, 8, 12, ... ..., -7, -3, 1, 5, 9, 13, ... ..., -6, -2, 2, 6, 10, 14, ... ..., -5, -1, 3, 7, 11, 15, ... k番目の剰余クラスは、mで除算したときの剰余がkに等しいすべての整数で構成されます。(負の整数に対して「剰余」を正しく定義している限り) 整数a1、a2、...、akのシーケンスは、剰余クラスの少なくとも1つと交差しない場合、mを法として許容されます。たとえば、{0、1、2、3}および{-4、5、14、23}は4を法とする許容値ではありませんが、{0、1、2、4}および{0、1、5、9 }および{0、1、2、-3} は 4を法として許容されます。また、{0、1、2、3、4}は4を法として許容されませんが、{0、1、2} は 4を法として許容されます。 最後に、整数のシーケンスは、すべての整数m≥2に対してモジュロmで許容される場合、単純に許容されます。 チャレンジ 入力として整数のシーケンスを受け取り、シーケンスが許容される場合は(一貫した)Truthy値を返し、シーケンスが許容されない場合は(一貫した)Falsy値を返すプログラムまたは関数を作成します。 整数の入力シーケンスは、任意の妥当な形式にすることができます。入力シーケンスに少なくとも2つの整数があると仮定できます。(必要に応じて入力整数が異なると仮定することもできますが、おそらく役に立ちません。)正および負の整数(および0)を処理できる必要があります。 通常のコードゴルフスコアリング:バイト単位の最短回答が勝ちます。 サンプル入力 …

18
ロッコ番号を見つける
インタビューでこの質問をされましたが、解決策を見つけることができませんでした。質問が正しかったかどうかはわかりません。私は多くのことを試みましたが、解決策に到達できませんでした。正直に言って、何も思い浮かばなかった。 ロッコ番号 正の整数nnnは、n=p(p+14)n=p(p+14)n=p(p+14)またはn=p(p−14)n=p(p−14)n=p(p-14)いずれかで表現できる場合、ロッコ数です。ここで、pppは素数です。 最初の10個のRocco番号は次のとおりです。 32,51,95,147,207,275,351,435,527,62732,51,95,147,207,275,351,435,527,62732, 51, 95, 147, 207, 275, 351, 435, 527, 627 仕事 コードは入力として正の整数を受け入れ、それがRocco番号かどうかを判断する必要があります。 ブラウニーポイント 100万以下のRocco数のカウントを計算して印刷する関数を作成します。 ボーナス質問(1つ以上)の素数であるRocco数のカウントを計算して出力する関数を作成します。

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, …

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にあります

14
挿入により素因数の数を最小限に抑える
2つの正の整数AとBを指定すると、BがAにpで挿入されたときに、結果の整数の素因数(多重度をカウント)の数を最小化する位置pを返します。 たとえば、A = 1234およびB = 32の場合、挿入の可能性(pは0から始まる)および対応する素因数に関する情報です。 p | 結果| 素因数| Ω(N)/カウント 0 | 321234 | [2、3、37、1447] | 4 1 | 132234 | [2、3、22039] | 3 2 | 123234 | [2、3、19、23、47] | 5 3 | 123324 | [2、2、3、43、239] | 5 4 | 123432 | [2、2、2、3、37、139] | 6 pが1の場合、結果には最小数の素因数3があることがわかります。したがって、この特定のケースでは1を出力する必要があります。 スペック 結果を最小化する複数の位置pがある場合、それらすべてを出力するか、いずれか1つを出力するかを選択できます。 pには0-indexingまたは1-indexingを選択できますが、この選択には一貫性が必要です。 …

23
2つの整数の平均を合計します
数学には、算術平均、幾何平均など、多くの平均があります... 定義とタスク これらは2つの正の整数の定義であることに注意してください*: 根平均二乗は半分自分の二乗和(の平方根です)。 算術平均は(半分、それらの和です)。 幾何平均は(彼らの積の平方根です)。 調和平均は、ある2それらの逆(の合計で割っ= )。 二つの整数所与及びbは 、その結果、B∈[1、+∞) 、手段の上記合計とB。回答は少なくとも小数点以下3桁まで正確である必要がありますが、丸めや浮動小数点の精度エラーを心配する必要はありません。 テストケース a、b->出力 7、6-> 25.961481565148972 10、10-> 40 23、1-> 34.99131878607909 2、4-> 11.657371451581236 345、192-> 1051.7606599443843 このプログラムを使用して、より多くのテストケースの正しい結果を確認できます。これはcode-golfであるため、標準ルールに準拠した最短の有効な提出が優先されます。 *他にも多くの手段がありますが、この課題の目的のために、「定義」セクションで言及したものを使用します。

13
数を二乗和として書く方法はいくつありますか?
仕事 2つの整数dとが与えられた場合、平方和としてn表現する方法の数を見つけます。つまり、そのようなことは、すべての整数の整数です。2つの異なる値(たとえばと)を交換することは、元のソリューションとは異なると見なされることに注意してください。ndn == r_1 ^2 + r_2 ^2 + ... + r_d ^2r_m1 ≤ m ≤ dr_1r_2 たとえば、45という数字は2つの正方形の合計として8つの異なる方法で記述できます。 45 == (-6)^2 + (-3)^2 == (-6)^2 + 3^2 == (-3)^2 + (-6)^2 == (-3)^2 + 6^2 == 3^2 + (-6)^2 == 3^2 + 6^2 == 6^2 + (-3)^2 == 6^2 + …

8
密番号シーケンス
OEIS:A167171 緻密数が正確(除数として1自体を含む)、非プライム除数として多くの素因数として持つ数です。同様に、それは素数または2つの異なる素数の積です。最初の100個の密な数字は次のとおりです。 2, 3, 5, 6, 7, 10, 11, 13, 14, 15, 17, 19, 21, 22, 23, 26, 29, 31, 33, 34, 35, 37, 38, 39, 41, 43, 46, 47, 51, 53, 55, 57, 58, 59, 61, 62, 65, 67, 69, 71, 73, 74, 77, 79, 82, 83, 85, 86, …

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