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

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

15
モジュロパリティパーティ
n≥2のn個の厳密に正の整数の配列Aが与えられます。 あなたの仕事は、各エントリA iを以下にマップすることです: 1場合A J MOD A iが各奇数であるJように1≤J≤N及びJ≠I A j mod A iが1≤j≤nかつj≠iであるようなjごとに偶数の場合は2 そうでない場合は0(混合パリティ) 例 用A = [73、50、61] 、我々が持っています: = 50 MOD 73 50、61 MOD 73 = 61 →混合 = 73 MOD 50 23、61 MOD 50 = 11 →すべての奇数 = 73 MOD 61 12、50 MOD 61 = 50 →全ての偶数 したがって、予想される出力は[0、1、2]です。 …

19
最初の「n」個の数字からゼロにする
チャレンジ 課題は、入力として正の整数「n」を取り、その合計がゼロに等しい。加算または減算のみを使用できることに注意してください。 たとえば、入力が3の場合、合計を0にする方法は2つあります。 1+2-3=0 -1-2+3=0 番号は1からn(この場合は3)まで順番に並んでいることに注意してください。例から明らかなように、最初の数値の符号も負になる可能性があるため、注意してください。 さて、3は非常に簡単でした。7番を検討する際のすべての方法をリストしましょう。 1+2-3+4-5-6+7=0 1+2-3-4+5+6-7=0 1-2+3+4-5+6-7=0 1-2-3-4-5+6+7=0 -1+2+3+4+5-6-7=0 -1+2-3-4+5-6+7=0 -1-2+3+4-5-6+7=0 -1-2+3-4+5+6-7=0 したがって、ここでは、合計8つの可能な方法があります。 入出力 前述のように、入力は正の整数になります。出力には、数値の合計がゼロになるすべての可能な方法が含まれている必要があります。同じことを行う方法がない場合は、好きなものを出力できます。 また、任意の形式で出力を印刷できます。しかし、それは理解できるはずです。たとえば、上記の例のように印刷できます。または、数字の記号を順番に印刷するだけでもかまいません。そうでない場合は、「0」と「1」を順番に印刷することもできます。「0」は負の符号を表示し、「1」は正の符号を表示します(またはその逆)。 たとえば、次を使用して1 + 2-3 = 0を表すことができます。 1+2-3=0 1+2-3 [1,2,-3] ++- 110 001 ただし、簡単にするために、最初の3つの形式のいずれかを使用することをお勧めします。すべての入力が有効であると想定できます。 例 7 -> 1+2-3+4-5-6+7=0 1+2-3-4+5+6-7=0 1-2+3+4-5+6-7=0 1-2-3-4-5+6+7=0 -1+2+3+4+5-6-7=0 -1+2-3-4+5-6+7=0 -1-2+3+4-5-6+7=0 -1-2+3-4+5+6-7=0 4 -> 1-2-3+4=0 -1+2+3-4=0 2 -> - 8 …

7
振動の平等
on [l, r]から始まる、時間単位ごとに1単位の速度で、2つの整数点間で振動するオブジェクトがあります。あなたが仮定することができます。たとえば、オブジェクトがで振動する場合、次のようになります。lt=0l < r[3, 6] t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 しかし、オブジェクトは継続的に振動するため、ともt=0.5 -> 3.5ありt=3.7 -> 5.3ます。 、の間[l1, r1]で振動する2つのオブジェクトが与えられた[l2, r2]場合t、2つのオブジェクトが同じ位置を共有するような時間が存在するかどうかを判断します。l1, r1, l2, r2任意の便利な形式でテイクを作成し、真実/偽の値を出力します。 真実の入力: [[3, 6], [3, 6]] [[3, 6], [4, 8]] …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

19
珍しい因子番号
チャットメッセージに基づく チャレンジ 入力番号を指定するとn > 9、そのゼロを無視してその逆を構築します。次に、その数とその逆数に共通しないすべての素因数のリストを作成します。これらの因子を乗算して、入力の非共通因子数を作成します。 それとも、別の言い方をするには、次の場合はrev(n)、整数の表し、小数の逆転n、の積を計算nしてrev(n)の二乗で割りましたgcd(n, rev(n))。 その番号を出力します。 実施例 たとえば、に2244逆になり4422ます。最初[2, 2, 3, 11, 17]の素因数はであり、逆の素因数は[2, 3, 11, 67]です。共通の多重度にない数値はであり、出力も[2, 17, 67]同様2278です。 別の例では、と1234逆になり4321ます。製品は5332114GCDで1あるため、出力は5332114です。 さらなる説明 明らかに、回文数はその逆とすべての因子を共有するため、このような場合、出力は1(n*n/n^2)です。明らかに、例の場合のように、出力がすべての因子の乗算になることも可能です(つまり、gcdは1-入力とその逆は互いに素です)1234。 ルール 入力と出力は、言語のネイティブ整数型に適合すると仮定できます。 入力と出力は、任意の便利な形式で指定できます。 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。 可能であれば、他の人がコードを試すことができるように、オンラインテスト環境へのリンクを含めてください! 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。 例 in out 17 1207 208 41704 315 1995 23876 101222302

16
奇数または偶数
これは回文であることに気づきましたか? 入力 非負整数またはそれを表す文字列 出力 数の2つのプロパティを表す4つの可能な出力: それは回文ですか トリッキーな#2 Tricky#2 property 数値が回文ではない場合、このプロパティは「最初と最後の数字は同じパリティを持っていますか?」という質問に答えます。 数字が回文の場合、このプロパティは「最初の数字と中央の数字は同じパリティを持っていますか?」という質問に答えます。偶数の場合、中央の数字は中央の2桁の数字の1つです。 例 12345678-> False False これは回文ではありません。最初と最後の数字はパリティが異なります 12345679-> False True パリンドロームではなく、最初と最後の桁が同じパリティを持っています 12344321-> True False これは回文です。最初の数字1と中央の数字4のパリティは異なります 123454321-> True True これは回文です。最初の数字1と中央の数字5は同じパリティを持っています PS 出力のタイプとフォーマットを決定します。4つの異なる値を指定できます。答えにそれを記載してください。

3
最短のゴロム定規を見つける
ゴロム定規は、負の整数のセットであるため、セット内の整数の2つのペアが同じ距離だけ離れていることはありません。 たとえば[0, 1, 4, 6]、このセットの2つの整数間の距離はすべて一意であるため、Golombルーラーです。 0, 1 -> distance 1 0, 4 -> distance 4 0, 6 -> distance 6 1, 4 -> distance 3 1, 6 -> distance 5 4, 6 -> distance 2 (翻訳は自明であるので)この課題では単純化のために、我々は課すゴロム定規があること、常に番号が含まれています0(前の例がないもの)。 このセットは長さがあるので4、これはゴロムの秩序 支配者だと言い4ます。このセット(またはセット内に0常にあるため、要素)の最大距離はです6。したがって、これは長さの ゴロム定規であると言い6ます。 あなたのタスク 短い長さの(次 50を100含む)順序の Golomb定規を見つけるあなたが見つけることができるように。見つけたルーラーは最適である必要はありません(以下を参照)。 最適性 順序Nのゴロム定規は、他の順序のゴロム定規がない場合に最適であると言われていますNは、より短い長さの。 最適なゴロム定規は28未満の次数で知られていますが、次数が増えるにつれて最適性を見つけて証明することはますます難しくなります。 したがって、次の注文のいずれかに対して最適なゴロム定規を見つけることは期待されていません 50と100(あなたは、彼らが最適であることを証明できることを期待し、さらに少ないです)。 プログラムの実行に時間制限はありません。 ベースライン …

9
些細なシーケンスのひねり
前書き 次のように定義された整数fのシーケンスを考えます。 f(2)= 2 もしnは奇素数である、そして、 =(N)F(+ F(N-1)F(N + 1))/ 2 もしN = P・Qは、その後、複合体であるF(N)= F(P)・F(Q) n≥2ごとにf(n)= nであることを確認するのはそれほど難しくありません。したがって、fの計算はそれほど興味深い課題ではありません。定義をひねりましょう。最初のケースを半分にし、2番目のケースを2倍にします。次のように定義された新しいシーケンスgを取得します。 g(2)= 1 場合nは奇素数である場合、G(N)= G(N-1)+ G(N + 1) もしN = P・Qが複合され、次いでG(N)= G(P)・G(Q) タスク あなたのタスクは、入力としてn≥2の整数を取り、出力としてg(n)を生成することです。整数オーバーフローを心配する必要はありませんが、計算できるはずです g(1025)= 81正しく、アルゴリズムは任意の大きな入力に対して理論的に機能するはずです。 完全なプログラムまたは関数を作成できます。最も低いバイトカウントが優先されます。 例 上記でg(1025)= 81と主張したので、手で計算してみましょう。素因数分解1025が提供します 1025 = 5*5*41 => g(1025) = g(5)*g(5)*g(41) 41は素数なので、 g(41) = g(40) + g(42) 次に、40と42の素因数分解を計算します。 40 …


4
除数グラフの最短経路
前書き この課題では、特定の無限の無向グラフを扱います。これを高除数グラフと呼びます。そのノードは、2つのノード間のエッジがある2から始まる整数である<Bであれば分割のB及び2 ≥bは。2〜18の範囲で形成されるサブグラフは次のようになります。 16-8 12 18 \|/ |/| 4 6 9 10 15 14 | |/ |/ | 2 3 5 7 11 13 17 無限大除数グラフが接続されていることを示すことができるため、2つのノード間の最短経路について尋ねることができます。 入出力 入力は2つの整数aとbです。2≤a≤b <1000と仮定できます。あなたの出力との間の最短経路の長さであり、そしてB無限高い除数のグラフです。これは、パス内のエッジの数を意味します。 あなたは次のことが役立つことがあります。常にから最適なパスが存在するB最初に増加し、その後減少し、かつ厳密に未満のみの訪問ノードだ2bの2。特に、b <1000なので、2 000 000未満のノードのみを考慮する必要があります。 例 入力3とを考慮してください32。ノード3と32の間の1つの可能なパスは 3 -- 6 -- 12 -- 96 -- 32 このパスには4つのエッジがあり、短いパスはないため、正しい出力は4です。 別の例として、のための最適な経路2と25なります 2 -- 4 -- …

12
五角形の数字から作られた五角形の数字
前書き 五角数(A000326は)式によって生成されたP N = 0.5×(3N 2 -n) 。または、使用されたドットの量を数えるだけです: 式または上記のgifを使用して、最初のいくつかの五角形の数字を見つけることができます。 1, 5, 12, 22, 35, 51, 70, 92, 117, 145, 176, 210, 247, 287, 330, 376, 425, 477, etc... 次に、x個の連続した数字の合計を計算する必要があります。 たとえば、x = 4の場合、P n + P n + 1 + P n + 2 + P n + 3(4つの用語で構成される)を調べる必要があります。五角形の数の合計も五角形の数である場合、これを五角形の五角形の数と呼びます。 ためX = …

11
和のセットを見つける
このサイトを読んで楽しんできました。これが私の最初の質問です。編集は大歓迎です。 正の整数を考えると、NとMのすべての注文のパーティション計算メートルを正確にn個の部品の正の整数部分、およびそれらを印刷には、カンマと改行で区切られました。どの順序でも構いませんが、各パーティションは1回だけ表示される必要があります。 たとえば、m = 6およびn = 2の場合、可能なパーティションは正の整数のペアであり、合計は6になります。 1,5 2,4 3,3 4,2 5,1 [1,5]と[5,1]は異なる順序のパーティションであることに注意してください。出力は正確に上記の形式で、オプションの末尾の改行が必要です。(編集:パーティションの正確な順序は関係ありません)。入力/出力を介している標準コード-ゴルフI / O。 m = 7、n = 3の別の出力例: 1,1,5 1,2,4 2,1,4 1,3,3 2,2,3 3,1,3 1,4,2 2,3,2 3,2,2 4,1,2 1,5,1 2,4,1 3,3,1 4,2,1 5,1,1 1週間後のバイト単位の最小コードが勝ちます。 繰り返しますが、必要に応じて編集してください。 補遺: @TimmyDは、プログラムがサポートする整数入力のサイズを尋ねました。例以外にハードミニマムはありません。実際、出力サイズは指数関数的に増加し、おおよそ次のようにモデル化されます:lines = e ^(0.6282 n-1.8273)。 n | m | lines of output …

16
単純なタスクを3回解決
1つの言語で3つのプログラムや関数を作成する必要があります。 これらのプログラムはすべて同じタスクを解決する必要がありますが、すべて異なる(ただし有効な)出力を提供する必要があります。(つまり、プログラムのすべてのペアに対して、異なる(しかし有効な)出力番号のセットを生成する入力が必要です。) タスク n1より大きい整数が与えられます n 別個の正の整数を返すか出力する必要があり、それらのいずれもで割り切れないようにする必要がありますn。 数字の順序は重要ではなく、数字の順列は異なる出力としてカウントされません。 いくつかのinput => outputペアを持つプログラムの有効なトリプレット: program A: 2 => 5 9 4 => 5 6 9 10 5 => 2 4 8 7 1 program B: 2 => 1 11 4 => 6 9 1 2 5 => 4 44 444 4444 44444 program C …

12
SUDSIシーケンスを生成する
SUDSI配列(SUの M、D ifference、S WAP、I ncrement)が表示されますではなくカオス的挙動を示すために、その好奇心整数配列です。次のように生成できます。 してみましょうSは、自然数の無限リストであります:1 2 3 4 5 6 ...。してみましょうSを、私は 1インデックス表す私の番目の要素S。したがって、最初は、 S 1は1、S 2は2などです(S 0はありません)。 S 1およびS 2から開始... それらの合計を計算します。 sum = S1 + S2 それらの絶対差を計算します(大きい方から小さい方を引いたもの): diff = |S1 - S2| Sの2つの値を和と差のインデックスで交換します。swap(Ssum, Sdiff) 作業しているSのインデックスを増やします。したがって、次回はS 2とS 3の合計と差を計算し、その後の時間はS 3とS 4などになります。 このプロセスを無期限に繰り返します。 このプロセスが適用されるSの最初のいくつかの段階を以下に示します。括弧[]は、合計および差分される2つの値を囲みます。 オリジナルS: [1 2] 3 4 5 6 7 8 …

9
Erdős–Strausの予想を検証するプログラムを書く
Erdős–Straus予想を検証するプログラムを作成します。 プログラムは、入力としてひとつの整数を取るべきであるn(3 <= n <= 1 000 000)とアイデンティティを満たす整数の三重印刷します4/n = 1/x + 1/y + 1/z、0 < x < y < z。 最短のコードが優先されます。 いくつかの例: 3 => {1, 4, 12} 4 => {2, 3, 6} 5 => {2, 4, 20} 1009 => {253, 85096, 1974822872} 999983 => {249996, 249991750069, 62495875102311369754692} 1000000 => {500000, …

2
せっかちな可分性テスト
あなたの仕事は、ある数値が別の数値で割り切れるかどうかを判断するプログラムまたは関数を書くことです。キャッチは、数字のすべての数字が与えられていなくても、できるだけ早く答えを出すべきだということです。 あなたのプログラムは、整数とるべきD ≥2と、入力として一連の数字を。これらは、整数、別の数字を表すN個の最下位桁から始まる、1≥。最初の時点でいることをNのどちらかがしなければならないか、してはならないことでdivisbleもD、あなたのプログラムの出力すべき適切な解答して終了します。入力の終わりに到達した場合、完全なNがDで割り切れるかどうかを出力する必要があります。 Nの受け入れ可能な入力形式のリストを次に示します (含まれないものを許可する必要があると思われる場合はコメントを残します)。 標準入力:数字は別々の行に表示されます。 入力の終わりはEOFまたは特別な値です。 exitは、関数が戻るか、プログラムが終了することを意味します。 アナログ入力:キーストロークや各桁を表す10個のボタンなど。 入力の終わりは特別な値です。 exitは、関数が戻るか、プログラムが終了することを意味します。 グローバル状態の関数:連続した数字で繰り返し呼び出されます。 入力の終わりは特別な値です。 exitは、関数がnull以外の値を返すことを意味します。グローバル状態を使用する場合は、値が返された後、または関数が複数回機能するようにリセットした後にクリアする必要があることに注意してください。 Curried function:次の数字または値で呼び出される別の関数を返します。 入力の終わりは特別な値であるか、引数なしで関数を呼び出します。 exitは、関数が別の関数ではなく答えを返すことを意味します。 GUIプロンプトなど:繰り返し表示されます。 入力の終わりは「キャンセル」または同等の値、または特別な値です。 exitは、プロンプトが表示されなくなることを意味します。 イテレータ関数:入力は、呼び出されたときに次の数字を返すステートフルオブジェクトまたは関数 です。入力の終わりは例外または特別な値です。 exitは、反復子の呼び出しが停止することを意味します。 Dの入力と出力は、任意の受け入れ可能な標準方法を使用できます。 テストケース: 2; 6 => true 5; 6 => false 20; 0 3 => false 20; 0 4 => true 100; 1 => false 100; 0 …

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