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

数論は、数の数学的特性とさまざまなタイプの数の間の関係に関する数学の分岐です。このタグは、数論の観点から提示された、または数論が含まれる可能性のある、またはその答えが数論の用語で示される可能性がある、または必要とされるコンピュータサイエンスのトピックに関する質問で使用する必要があります。

1
多くの可分性条件を持つサブセット和問題
してみましょう自然数の集合とします。を分割可能半順序、つまり下で検討します。させてS S 1 ≤ sの2SSSSSSs1≤s2⟺s1∣s2s1≤s2⟺s1∣s2s_1 \leq s_2 \iff s_1 \mid s_2 α (S)= max { | V| ∣V⊆ S、Vα(S)=最大{|V|∣V⊆S、V\qquad \displaystyle \alpha(S) = \max \{|V| \mid V\subseteq S, Vはアンチチェーン}}\}です。 数値のマルチセットがSSSにあるサブセット和問題を考えると、\ alpha(S)に関連する問題の複雑さについて何が言えα (S)α(S)\alpha(S)ますか?α (S)= 1α(S)=1\alpha(S)=1であるかどうかを確認するのは簡単で、問題は簡単です。α (S)= 1α(S)=1\alpha(S)=1††\dagger場合、より難しいナップザック問題でも簡単です。 \ dagger M. HartmannおよびT. Olmsteadによる††\dagger 逐次ナップザック問題の解決(1993)

1
modの取得の複雑さ
これは簡単な答えが必要な質問のように思えますが、決定的なものはありません。 nnna 、pa、pa, pモッズPamodpa\bmod p を割ると時間がかかります。ここで、は乗算の複雑さです。しかし、は少し速く実行できますか?p O (M (n ))M (n )modaaappp O(M(n))O(M(n))O(M(n))M(n)M(n)M(n)modmod\bmod

2
Digit Sumシーケンスの要素を効率的に見つける方法は?
興味をそそるだけで、プロジェクトオイラーの「最近の」カテゴリ(数字の合計シーケンス)から問題を解決しようとしました 。しかし、問題を効率的に解決する方法を考えることはできません。問題は次のとおりです(元の質問シーケンスでは最初に2つありますが、シーケンスは変更されません)。 Digit Sumシーケンスは、1,2,4,8,16,23,28,38,49 ....です。ここで、シーケンスのnthnthn^{th}項は、シーケンス内でその前にある数字の合計です。シーケンスの1015th1015th10^{15}th項を見つけます。 素朴なソリューションは多くの時間がかかるため実装できません。私はこの問題を行列の累乗の場合(時間がかかる)に減らすことを試みましたが、このシーケンスの繰り返しはかなり線形であるため、このような繰り返しを見つけることはできませんでした独特の。シーケンスは繰り返しによって管理されていることがわかります。O(log(1015))O(log(1015))O(log ( 10^{15})) an=an−1+d(an−1).....(1)an=an−1+d(an−1).....(1) a_n = a_{n-1} + d( a_{n-1} ) ..... (1 ) ここでanana_nはシーケンスのnthnthn^{th}項であり、dddは入力として自然数が与えられると、その数字の桁の合計を返す関数です(例:d(786)=21d(786)=21\;d(786)=21)。2番目のアプローチは、シーケンス内のパターンを見つけることでした。シーケンスの最初のいくつかの用語は、次のように記述できることがわかります。 a_1 = 1 a_2 = 1 + d( 1 ) a_3 = 1 + d( 1 ) + d( 1 + d( 1 ) ) a_4 = 1 + d( …


5
ゴールドバッハ予想とビジービーバーの数字?
背景:私はコンピューターサイエンスの完全な素人です。 私はここでビジービーバーの数字について読んでいて、次の文章を見つけました: 人類は、BB(6)の値はもちろん、BB(7)の値またはシーケンス内のそれ以上の数値を知ることはありません。 確かに、すでにトップ5および6ルールの競合他社は私たちから逃れています。私たちは、それらが人間の観点でどのように「機能する」かを説明することはできません。創造性が彼らのデザインを吹き込んだとしても、それは人間がそこに置いたからではありません。これを理解する1つの方法は、小さなチューリングマシンでさえ、数学的問題をコード化できることです。Goldbachの推測を考えてみましょう。4以上のすべての偶数は、2つの素数の合計である:10 = 7 + 3、18 = 13 + 5。推測は1742年以来証明に抵抗しました。しかし、100個のルールでチューリングマシンを設計できます。推測。次に、BB(100)を知っていれば、原則としてこのマシンをBB(100)ステップで実行し、停止するかどうかを判断して、Goldbachの推測を解決できます。 アーロンソン、スコット。「大きな番号に名前を付けることができるのは誰ですか?」誰が大きい番号に名前を付けることができますか?Np、nd Web。2016年11月25日。 著者は、有限数の計算で無限に多くの数に関する声明であるゴールドバッハ予想を証明または反証できると著者が示唆しているように思えます。何かが欠けていますか?

3
合計がNになるすべての4乗の組み合わせをどれくらい早く見つけることができますか?
Stack Overflowで質問がありました(こちら): 整数与えられると、方程式A 2 + B 2 + C 2 + D 2 = Nを解くA 、B 、CおよびDNNNの整数値のすべての可能な組み合わせを出力します。A,B,CA,B,CA,B,CDDDA2+B2+C2+D2=NA2+B2+C2+D2=NA^2+B^2+C^2+D^2 = N この質問は、もちろん、バチェットの数論における推測(彼の証明からラグランジュの四乗定理と呼ばれることもある)に関連しています。単一の解決策を見つける方法を議論するいくつかの論文がありますが、特定のNのすべての解決策を見つけることができる速さ(つまり、すべての順列ではなく、すべての組み合わせ)を見つけることについて話すものを見つけることができませんでした。NNN 私はそれについてかなり考えてきましたが、時間と空間で解決できるように思われます。ここで、Nは望ましい合計です。しかし、主題に関する事前情報が不足しているため、それが私の側の重要な主張なのか、ささいな、明白な、またはすでに知られている結果なのかわかりません。O(N)O(N)O(N)NNN それで、問題は、与えられたすべての4乗和をどれだけ速く見つけることができるかということです。NNN OK、私が考えていた(ほぼ)O(N)アルゴリズムです。最初の2つのサポート関数、最も近い整数平方根関数: // the nearest integer whose square is less than or equal to N public int SquRt(int N) { return (int)Math.Sqrt((double)N); } そして、0からNまでのすべてのTwoSquareペアを返す関数: // Returns a list of …

2
最小公約数
基本的に、問題は次のとおりです。正の数のセットの場合、の任意の要素の約数ではない最小数、つまり見つけます。SSSdddSSS∀x∈S, d∤x∀x∈S, d∤x\forall x \in S,\ d \nmid x n = | S |を表す n=|S|n=|S|n = |S|およびC=max(S)C=max(S)C = \max(S) 。関数F(x)= xをF(x)=F(x)=F(x) = 除算しない最小素数を考えます。F(x)\ leq \ log xであることが簡単にわかります。また、セットSの場合、F(S)= Sの要素を分割しない最小素数とします。上限がありますxxxF(x)≤logxF(x)≤log⁡xF(x) \leq \log xSSSF(S)=F(S)=F(S) = SSS F(S)≤F(lcm(S))≤F(Cn)≤nlogC.F(S)≤F(lcm⁡(S))≤F(Cn)≤nlog⁡C.F(S) \leq F(\operatorname{lcm}(S)) \leq F(C^n) \leq n \log C. したがって、111からn \ log Cまでのすべての数値を列挙しnlogCnlog⁡Cn \log C、Sの要素を除算しないかどうかをチェックする単純な総当たりアルゴリズムSSSは多項式であり、時間の複雑さはO(n2logC)O(n2log⁡C)O(n^2 \log C)です。 …

4
GCD = 1の最小サブセットのサイズを見つける
これは、ポーランドの大学プログラミングコンテスト2012の練習セッションの問題です。メインコンテストの解決策は見つかりましたが、この問題の解決策はどこにも見当たりません。 問題は次のとおりです以下の異なる正の整数のセットが与えられたら、1以外の公約数を持たない最小サブセットのサイズを見つけますは最大で500であり、解が存在すると仮定できます。10 9 m NNNN10910910^9mmmNNN 私はそれを示すために、管理。私の推論は次のとおりです。サイズがで、gcd = 1の最小サブセットがあるとします。次に、すべての9サブセットはgcd> 1でなければなりません。そのようなサブセットは正確に10あり、それらのgcdはペアワイズでなければなりませんcoprime。これらのgcdをとすると、i \ neq jに対してになります。その場合、Sの最大数はg_2g_3 ... g_ {10}です。しかし、g_2g_3 ... g_ {10} \ ge 3 \ times5 \ times7 \ times11 \ times ... \ times29 = 3234846615> 10 ^ 9、これは矛盾です。S | S | = 10 S 1 < g 1 < g 2 …


2
nの除数で最小の整数を効率的に計算する
この問題に取り組むために、私は最初にそれを観察しました ϕ(pe11 pe22⋯ pekk)=(e1+1)(e2+1)⋯(ek+1)ϕ(p1e1 p2e2⋯ pkek)=(e1+1)(e2+1)⋯(ek+1)\phi(p_1^{e_1} \space p_2^{e_2} \cdots \space p_k^{e_k}) = (e_1 + 1)(e_2 + 1)\cdots(e_k +1) ここで、ϕ(m)ϕ(m)\phi(m)は約数(必ずしも素数ではない)の約数ですmmm。mmmがϕ(m)=nϕ(m)=n\phi(m) = nとなるような最小の整数の場合、 ϕ(m)=nϕ(m)=n\phi(m) = n (e1+1)(e2+1)⋯(ek+1)=n(e1+1)(e2+1)⋯(ek+1)=n(e_1 + 1)(e_2 + 1)\cdots(e_k +1) = n ここで、∏ i p e i iが最小になるように選択する必要があります。pの選択は簡単です-それらは昇順の単なる素数です。eieie_i∏ipeii∏ipiei\prod_{i} p_i^{e_i}ppp しかし、を選択するための最初の考えeieie_iは正しくありませんでした。私は単にnnn因数分解し、降順で因数をソートして1を引くことができると思いました。ほとんどの場合、これはうまく機能します。たとえば、n=15n=15n = 15除数の最小の整数は次のとおりです。 15 = (4 + 1 )、 (2 + …

1
自然数のセットの最大ペアワイズGCDを効率的に見つける
次の問題を検討してください。 ましょは自然数の有限サブセットです。S={s1,s2,...sn}S={s1,s2,...sn}S = \{ s_1, s_2, ... s_n \} ましょうgでのCのD (sはI、S J) | sのiが、S J ∈ S 、S I ≠ S J } 、G 、C 、D (X 、Yは)の最大公約数であり、X及びYG={G={G = \{ gcd(si,sj)gcd(si,sj)gcd(s_i, s_j)si,sj∈S,si,sj∈S,s_i, s_j \in S, si≠sj}si≠sj} s_i \neq s_j \}gcd(x,y)gcd(x,y)gcd(x,y)xxxyyy の最大要素を求めます。GGG この問題は、ユークリッドのアルゴリズムを使用して各ペアの最大公約数を取り、最大のものを追跡することで解決できます。 これを解決するより効率的な方法はありますか?

2
一対の製品のGCD
私には2つの数値があり、それぞれが私が知っている多数の小さい数値の積です。これら2つの数値のGCD(最大公約数)を見つけたい。プロセスを高速化するために必要な部分分解を利用する方法はありますか? 特に、大きい数値はそれぞれ小さい数値の積であり、それぞれの数値は2 ^ {4000}のオーダーです。小さい数の因数分解については何も知りません。2152152^{15}24000240002^{4000} 編集:入力数は約120,000,000ビットですが、GCDは約500,000ビットです。数字の要素は特に順番に並んでいます。それらはすべて連続した範囲の整数です。 私が見たすべてのGCDアルゴリズムは、部分的に因数分解された形式などではなく、直接数値を使用します。この情報を組み込んでスピードアップできるアルゴリズムはありますか?

2
ラジカル表現の平等の決定可能性
要素から構築された用語検討と操作+ 、× 、- 、/、及びnは√QQ\mathbb Q+,×,−,/+,×,−,/+,\times,-,/⋅−−√n⋅n\sqrt[n]{\,\cdot\,}各自然数。2つの項が整形式であるという約束(つまり、ゼロによる除算はなく、負の数の根もない)が与えられた場合、2つの項が等しい場合を決定するアルゴリズムはありますか?nnn 関連する質問がここに投稿されましたが、より一般的です(有理数だけではなく、任意のべき乗を可能にするため)。

2
平方根関数を使用しての形式の素数性をテストするための効率的なアルゴリズムはありますか?
私が読んでいたCLRSを、それがあればことを示すように求めフォームの素数である及び平方剰余した後、の平方根である(一方は容易ことを示すことができますは平方根です)。p pp4 k + 3 4k+34k+3a aaa k + 1ak+1a^{k+1} a − ka−ka^{-k} 以前の事実を使用していて、(必ずしも素数である必要はない)の形式の数があることを知っているかどうか疑問に思っていたので、平方根関数を使用して(何か?)異なる素数性テストがあるかもしれません(つまり、)。N = 4 k + 3 N=4k+3N = 4k+3N NNS Q R T N(a )= a k + 1SQRTN(a)=ak+1SQRT_N(a) = a^{k+1} だから私が考えたアルゴリズムは次のとおりです: 二次残差(QR)(a ^ {\ frac {p-1} {2}} \ equiv 1 \ pmod pが成り立つかどうかを確認することでこれを簡単に行うことができます)。QRを取得したら、a ^ {k + …

1
二次剰余と整数因数分解
私は、が法とする2次剰余であるかどうかを決定することは、(特にが素数でない場合)数論からの興味深い(そして難しい)問題であることをよく読みます。rrrんnnんnn この問題の次の特殊なケースを見ていますとを2つの異なる素数とし、ます。と間のが与えられます。 2 \ equiv r \ pmod {n}のようなが存在するかどうかを判断します。pppqqqn := p qん:=pqn:=pqrrr111んんnX ∈ Z / N Zバツ∈Z/んZx\in\mathbb{Z}/n\mathbb{Z}バツ2≡ R(modn )バツ2≡r(モッドん)x^2\equiv r\pmod{n} 私の質問は次のとおりです。この問題の機能バージョン、つまり「上記のようなバツバツxを検索」は、整数因数分解のためのランダム化されたアルゴリズムを生成します。したがって、「RSAの破壊」などの実用的な理由から、非常に興味深いものです。この問題の決定バージョンについて、そのような結果はありますか?そうでない場合、二次残差を決定することは難しい問題であると私たちに考えさせる典型的な問題は何ですか? さらに、私が見ている特別なケースは本当に特別なケースですか?または、上記の決定問題のオラクルで任意のんんnを使用して一般的なケースを解決できますか?

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