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

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

10
二次剰余はとても楽しいです!
定義 二次剰余 整数rrrは、次のような整数xが存在する場合、nnn法とする2次剰余と呼ばれます。バツバツx バツ2≡ R(modn )バツ2≡r(モッドn)x^2\equiv r \pmod n を法とする2次剰余のセットは、0 \ le x \ le \ lfloor n / 2 \ rfloorのx ^ 2 \ bmod nの結果を調べることで簡単に計算できます。nnnバツ2mod nバツ2モッドnx^2 \bmod n0 ≤ X ≤ ⌊ N / 2⌋0≤バツ≤⌊n/2⌋0 \le x \le \lfloor n/2\rfloor チャレンジシーケンス 我々は定義anana_n同じ値のオカレンスの最小数として(r0−r1+n)modn(r0−r1+n)modn(r_0-r_1+n) \bmod n全てのペアのための(r0,r1)(r0,r1)(r_0,r_1)モジュロ平方剰余のnnn。 最初の30の用語は次のとおりです。 1,2,1,1,1,2,2,1,1,2,3,1,3,4,1,1,4,2,5,1,2,6,6,1,2,6,2,2,7,21,2,1,1,1,2,2,1,1,2,3,1,3,4,1,1,4,2,5,1,2,6,6,1,2,6,2,2,7,21, 2, 1, …

15
論理ゲートを手動で
基本的な論理ゲートをシミュレートするプログラムを作成します。 入力:スペースなどで区切られた、2つの1桁の2進数が続く、すべて大文字の単語OR 1 0。門OR、AND、NOR、NAND、XOR、およびXNOR必要とされています。 出力:入力された論理ゲートの出力には、1または0の2つの数値が与えられます。 例: AND 1 0なります0 XOR 0 1なり1 OR 1 1ます1 NAND 1 1なります0 これはcodegolfなので、最短のコードが優先されます。
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

7
最大数と最小数を作る
Puzzlingに関するこの投稿に触発されました。そのパズルのネタバレは以下にあります。 入力として3つの正の整数が与えられた場合(x, y, z)、包括的範囲を構築し、その範囲[x, y]を連結してから、z不必要に連続した数字を削除して、可能な最大および最小の正の整数を生成します。先行ゼロは許可されません(つまり、数字はで始まる必要があります[1-9])。これらの2つの数値をいずれかの順序で出力します。 Puzzling投稿の例では、入力に対して(1, 100, 100)、可能な最大数は99999785960616263646566676869707172737475767778798081828384858687888990919293949596979899100で あり、最小数はで10000012340616263646566676869707172737475767778798081828384858687888990919293949596979899100、そこに投稿されたjafeの回答 からの以下のロジックに従います。 数値の長さに影響を与えることはできません(固定の桁数があります)。したがって、値を最大化するには、最初の最大桁、次に2番目の桁などを取ります。 84の最初の9以外を削除します(16桁を削除します): 999995051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 次の17桁内の最大数は7であるため、ここから、答えの次の桁は最大で7になります(16桁を超える数字は削除できません)。したがって、15個の非7を削除します(削除するために残っている1桁):999997585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 ここから、次の数字は最大8になるため、中央から8以外を1つ削除します。 99999785960616263646566676869707172737475767778798081828384858687888990919293949596979899100 同様のロジックですが、最小数では逆になります(つまり、先行1sではなく先行sが必要です9)。 以下に小さな例を示します(1, 10, 5)。 範囲を構築し、可能な最大数を残して削除できる桁を12345678910決定し5ます。明らかに、これは出力の長さに影響を与えることができないため、先行桁を最大化することを意味します。したがって、削除する場合12345、が残り、678910これが作成できる最大のサイズになります。代わりに中央から数字を抜き取り、123410可能な限り小さいままにしておくことができるため、最小にするのは少し複雑です。 にとって (20, 25, 11)、これはかなりのように、退屈さ5と1。 最後に、先行ゼロを試みる回答を除外するに(9, 11, 3)は、91011たターン利回り91と10最大値と最小など。 I / Oとルール 簡単/短い場合は、2つのプログラム/関数をコーディングできます。1つは最大のもの、もう1つは最小のものです。この場合、スコアは両方の部分の合計になります。 入力と出力は任意の便利な方法で与えることができます。 ただし、入力は言語のネイティブの数値型に適合すると想定できますが、、連結数や出力のいずれもがそうすると仮定することができます。 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。 標準抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。

25
上限Divmodを計算する
仕事 2つの正の整数(divid e ndとdivis o r)が与えられた場合、q uotientとr emainderを計算します。 通常、e = o*q+rwhere q*o<=eおよびとして計算され0<=r<oます。 この挑戦のためにまだe = o*q+rそれがq*o>=e、そして-o<r<=0。 たとえばe=20とo=3、通常はそれは次のようになり20/3 -> 20=3*6+2、以来18<=20と0<=2<3。ここでそれは20/3 -> 20=3*7-1どこに21>=20なります-3<-1<=0 テストケース Input -> Output 20, 3 -> 7, -1 10, 5 -> 2, 0 7, 20 -> 1, -13 100, 13 -> 8, -4 処理する必要はありませんo=0。

21
反復ファイシーケンス
関連:繰り返しphi(n)関数。 あなたの課題は、反復phi関数を計算することです。 f(n) = number of iterations of φ for n to reach 1. どこφでオイラーのφ関数は。 関連OEIS。 以下がそのグラフです。 ルール: あなたの目標はからに出力f(n)するn=2ことn=100です。 これはコードゴルフなので、最短のコードが優先されます。 確認できる値は次のとおりです。 1, 2, 2, 3, 2, 3, 3, 3, 3, 4, 3, 4, 3, 4, 4, 5, 3, 4, 4, 4, 4, 5, 4, 5, 4, 4, 4, 5, 4, …

9
繰り返される数字の素数
別のシーケンス、別の課題。* 定義 首相はpこのシーケンスである、レッツ・コールもA、すべての桁のIFF dでpの小数点以下の拡張、あなたが代わるdとdのコピーdと結果の整数はまだ素数です。ゼロは許可されません。 たとえば11、このシーケンスでは些細なことです(ちなみに、最初の数字です)。シーケンスの次はある31ので、3331また、素数です。その後53ためには55555333そうでも素数である、と。 チャレンジ input n、return A(n)、つまりnこのシーケンスのth番目のアイテムを指定します。 例 始めるための最初の20の用語を以下に示します。これは、OEIS上のA057628です。 11, 31, 53, 131, 149, 223, 283, 311, 313, 331, 397, 463, 641, 691, 937, 941, 1439, 1511, 1741, 1871 これはA(0) = 11、A(1) = 31ゼロインデックスを使用する場合、などを意味します。 ルール ゼロベースまたは1ベースのインデックスを選択できます。あなたの答えにどれを指定してください。 nth要素だけを返す代わりに、最初のn用語を返すことを選択できます。 入力/出力は、あなたの言語のネイティブ整数フォーマットよりも大きくないと仮定できます。ただし、繰り返し数字の素数は言語のネイティブ形式よりも大きい場合があるため、これを考慮する必要があります。 たとえば1871、最後の例のには、対応する素数があり18888888877777771、標準のINT32よりもかなり大きくなっています。 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。 出力は、コンソールに出力したり、関数から返されたり、警告ポップアップに表示したりできます。 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。 *公平を期すために、私はシーケンスの最初のいくつかの用語をいくつかの数字で遊んでいたので、OEISに行って残りのシーケンスを取得しました。

10
フィボナッチ軌道を数える
フィボナッチ数列をf k(n)=(f k(n-1)+ f k(n-2))%kとして定義する場合、整数k(%はモジュロ演算子)に対して、シーケンス(f k(n-1)、f k(n-2))にはk 2個の異なる値しかないため、必然的に周期的です。ただし、このサイクルには通常、可能なすべての値のペアが含まれているわけではないため、2つの開始値f k(0)およびf k(1)に応じて、異なるサイクルが得られる場合があります。たとえば、k = 2の場合、最初の2つの値に応じて、次の4つの可能性があります。 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 1, 1, 0, 1, 1, 0, 1, 1, ... 1, 0, 1, 1, 0, 1, 1, 0, 1, ... 1, 1, 0, 1, 1, 0, 1, 1, …

16
べき乗シーケンス
ボフニア * にあるポーランド最古の塩鉱山は 1248年に開始されました。これは魔法の数字と考えることができます。べき乗のシーケンスから4桁に等しいことがわかります。 日付は実際にはシーケンスから4桁なので、もっと長くすることができます。無限に達するまでこのプロセスを繰り返すことができます。数に制限すると、シーケンスは次のようになります2048 124816326412825651210242048 見た目を少し良くするために、数字を分けることができます。 1|2|4|8|16|32|64|128|256|512|1024|2048 日付よりも長いカスタムのシーケンスを試してみましょう。たとえば、5桁にする必要があります。複数の可能性があります。 24816 81632 64128 または3桁のもの: 124 248 816 これに3桁の数字を追加することもできますが、シーケンスには少なくとも2つの数字が必要であるとしましょう。 *英語版ウィキペディアにはこれに関する情報はありません。ポーランド語版を入力すると-があります。あなたが鉱山を訪れると、労働者はあなたに、それが1248年に始まったと伝えます。 チャレンジ 上記の例のように、2を基数とする累乗シーケンスを作成します。 2〜27の範囲の数値を指定して、入力と等しい桁数でシーケンスのすべての可能な部分(必要に応じて1つ以上の2048)を出力します。48116は半分にカットされるため、数値を切り取ることができないため、次のような出力は無効です。 ルール: 標準的な抜け穴は禁止されています。 入力は範囲内の数値であると想定できます。 プログラムは、範囲(28+)よりも大きい入力を受け入れることができますが、スコアは増減しません。 出力のスペースは無視されます。like 124またはlike を出力できます4 8 16。 異なる可能性は、リストの任意の文字,./|または改行で区切る必要があります。 配列として出力できます。 すべての可能性は少なくとも2つの異なる数字を含むべきです。 シーケンスの一部を出力する必要があります14。次のように、隣り合っていない数字を混在させることはできません。 ハードコーディングされた出力は許可されませんが、完全なシーケンスを含む文字列/数値/配列をハードコーディングできます。 入力27は、2048シーケンス全体を返す必要があります。 既に述べたように、数字をカットしないでください。例 16滞在する16必要があります481- 使用できません-を使用する必要があります4816。 編集:私はそこに間違ったことを言ったかもしれません。2048はプログラムがサポートする最後の番号です。より大きな整数のサポートを追加できます。 テストケース 入力: 2 12, 24, 48 入力: 3 124, 248, …

4
この数はフェルマーですか?
フェルマー数は正の整数で、整数xで2 2 x +1 として表現できます。 「Fermat-ness」と呼ばれる番号の属性を定義しましょう。 数のフェルマーネスは、基数から始まり、フェルマーネスを最大化するために2のべき乗が拡張された2のべき乗の長さよりも1つ小さくなります。 フェルマー数ではない数のフェルマーネスはゼロです。 したがって、17(= 2 2 2 2 0 +1)にはフェルマーネス3があります。 チャレンジ 入力として正の非ゼロ整数を与え、数値のフェルマーネスを出力します。 ルール 入力を2進数、10進数、16進数、bignum、またはゴルフに最適な形式で入力できます。 ソリューションは、使用する表現が64を超えるビット長の数値を処理できる必要があります。 非負の整数のべき乗のみ。 もちろん、標準的な抜け穴は禁止されています。 これはcode-golfなので、最短の回答が勝ちます。 テストケース これらはフォーマットですinput->output。入力はスペースを節約するために16進数です。 10000000000000000000000000000000000000000000000000000000000000001 -> 2 1000000000000BC00000000000000000000000000000000001000000000000001 ->0 1234567890ABCDEF -> 0 100000000000000000000000000000001 -> 1 5 -> 2 11 -> 3 10001 -> 4 101 -> 1 10進数で同じ: 115792089237316195423570985008687907853269984665640564039457584007913129639937 …

4
最速の近似公約数
概要 この課題では、中規模の数値の倍数よりも大きい小さなオフセットである2つの数値が与えられます。小さなオフセットを除いて、両方の数値のほぼ除数である中規模の数値を出力する必要があります。 関係する数値のサイズは、難易度パラメーターによってパラメーター化されますl。あなたの目的は、l1分以内に可能な限り最大の問題を解決することです。 セットアップ 特定の問題では、秘密の番号がありp、これはランダムl^2(l*l)ビット番号になります。乗算器は2つありq1, q2、これはランダムなl^3ビット番号になりr1, r2、オフセットは2つありlます。 プログラムへの入力はx1, x2、次のように定義されます。 x1 = p * q1 + r1 x2 = p * q2 + r2 Pythonでテストケースを生成するプログラムを次に示します。 from random import randrange from sys import argv l = int(argv[1]) def randbits(bits): return randrange(2 ** (bits - 1), 2 ** bits) p = randbits(l ** …

1
ゲーデルのβ関数を手伝う[終了]
閉じた。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 閉じた2年前。 ゲーデルのβ関数は、3つの自然数を引数として取ります。 次のように定義されます β(x,y,z) = rem(x, 1 + (z + 1) · y) = rem(x, (z · y + y + 1) ) ここで、rem(a、b)は、aをbで整数除算した後の剰余を示します。 β補題は次のように述べています: 自然数のシーケンス(k_0、k_1、…、k_n)には、i≤nごとにβ(b、c、i)= k_iとなる自然数bとcがあります。 ゲーデルは見つけるために助けを必要とbし、c任意の入力のために(k_0, k_1, … , k_n), k_i ∈ ℕ。 n自然数で満たされたlengthの配列を受け取り、配列のb,c補題を満たす可能性のある出力を与える関数を作成します。 総当たりで解決策を得ないでください! (私の完全に非専門家の意見では、最初に数字を取得してから計算するときは総当たりです。それは数字を推測し、次に推測が正しいかどうかを調べることです。ここでコーディングしたいのは、それらはそうするように計算されたため、補助定理を満たしているかどうかをチェックする必要はありません。) 与えられた方程式と情報でそれらを構築します。最短コード勝ボーナスポイントあなたがそれを行う場合Javascript、私はちょうどそれに取得していますので、:) 例: [5, 19, 7, 8] -> (1344595, 19) 1344505 …

13
粘り強いタイのカレンダー
でタイ暦 2560年に2017対応のタイ暦は543年先グレゴリオ暦のは常にあります。 観察者のコーダーは、2560がに等しい2^9 * 5、つまり10個の素因数があることに気付くでしょう。これは、さらに896年は再び起こりません!正確に10の素因数がある場合、1年は粘り強いと呼びます。 システムクロックに基づいて、タイのカレンダーを使用した現在の年が粘り強い場合は真実の値を出力し、そうでない場合は偽の値を出力するプログラムを作成します。 テストケース: プログラムが2017年に実行された場合、 true 2018年から2912年のいずれかにプログラムが実行された場合、 false プログラムが2913の間に実行される場合、true(2913 + 543 = 2^7 * 3^3)

11
緩い範囲の解釈
緩い範囲の解釈 ListSharpは、多くの機能を備えたインタープリター型プログラミング言語です。これらの機能の1つは、次のように機能する1つのインデックスベースの範囲作成者です。 あなたはと範囲を定義する(INT) TO (INT)か、単に(INT)どこの両方または単一のintは分からに行くことができる最大のint32値 次に、これらの範囲を使用して、境界を超えることを恐れずに配列の要素を抽出できます したがって: 1 TO 5 生成: {1,2,3,4,5} 3 生成: {3} AND演算子を使用して範囲を追加できます 1 TO 5 AND 3 TO 6 生成: {1,2,3,4,5,3,4,5,6} これは負の数でも機能することを忘れないでください 3 TO -3 生成: {3,2,1,0,-1,-2,-3} 課題は次のとおりです。 入力 文字配列および文字列として以前に定義された範囲句 出力 1インデックスの要素は範囲の位置に基づいています(非既存/負のインデックスは空の文字に変換されます) 勝つ方法 コードゴルフの挑戦として、あなたは勝つために最短のバイト数でプログラムを作成することになっています 空の文字は存在しないことが指摘されているため、無視する必要があります(ここでは、わかりやすくするためだけに示しましたが、混乱させています) テストケース: input array is: {'H','e','l','l','o',' ','W','o','r','l','d'} range clause: "1 TO 3" …
13 code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

4
私の「キーボア」は私をキーボーリングしています!最小限のキーストロークを見つけるのを手伝ってください
この質問を思いついた@ Agawa001の功績。 説明 私の新しい「キーボア」には2つのボタン、つまり+とがあり-ます。 メモリ内の番号はから始まり0ます。 +または-を連続して押すたびに、連続して押された正確な回数だけメモリをインクリメント/デクリメントします。 したがって、+4回押すと、1回目は1、2回目は2、3回目は3、4回目は4を追加します10(10)。 ここで、-3回押すと、1回目は1、2回目2、3回目3が減算され、4(4)が残ります。 TL; DR +と-の文字列が与えられたら、文字が変わるたびにそれを分割します。次に、m +個のシンボルの各結果の文字列は、m番目の三角形番号を-加算し、n 個のシンボルの各文字列は、n番目の三角形番号を減算します。 ウォークスルー まだ理解していない場合は、+++--+--作成方法を説明します1。 Program | Counter | Memory ---------------------------- | 0 | 0 + | +1 | 1 ++ | +2 | 3 +++ | +3 | 6 +++- | -1 | 5 +++-- | -2 | 3 …

13
フィボナッチ製品
正のフィボナッチ数の一意の合計として、0より大きい数を分解できます。この質問では、可能な最大の正のフィボナッチ数を繰り返し減算することでこれを行います。例えば: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 ここで、フィボナッチ積を上記と同じリストと呼びますが、加算は乗算に置き換えられます。たとえば、f(100) = 89 * 8 * 3 = 2136。 正の整数nを指定して、その数のフィボナッチ積を返すプログラムまたは関数を作成します。 テストケース: 1: 1 2: 2 3: 3 4: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

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