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

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

23
7分割可能ルールを実装する
10進数が7で割り切れるかどうかを確認するには: 最後の桁を消去します。2で乗算し、残っているものから減算します。結果が7で割り切れる場合、元の数は7で割り切れます。 (例えばここにも説明されています) このルールは、手動の分割可能性チェックに適しています。例えば: 2016年は7で割り切れますか? 6*2201から減算します。189になります。これは7で割り切れますか?それを確認するために、もう一度ルールを適用しましょう。 9*218を引きます。したがって、2016は7で割り切れます。 このチャレンジでは、分割可能ステータスが明白になるまで、つまり、数が70以下になるまでこのルールを適用する必要があります(ただし、詳細については以下を参照してください)。関数または完全なプログラムを作成します。 入力:正の整数。コードは最大32767の入力をサポートする必要があります(任意精度の整数をサポートすることはボーナスです。以下を参照)。 出力:整数(おそらく負)、70以下。これは、7回の可分性ルールを0回以上適用した結果です。 テストケース: Input Output Alternative output 1 1 10 10 1 100 10 1 13 13 -5 42 42 0 2016 0 9 9 99 -9 9999 -3 12345 3 32767 28 -14 ---------- Values below are only relevant for the …

20
時計の半分は何ですか?
私の部屋には、こっけいな時計があります(クリックするとフルサイズになります)。 これらのほとんどは理解するのが難しいことではありませんが、4時の場合は特に注意が必要です。 通常、1/2のような分数は、整数のみが関係するため、モジュラー演算では意味がありません。正しい方法は、その後、としてこれを見ることで逆 2の、または別の言い方をするために、その番号であるところ。この言い方をすれば、一瞬の思考がその明らかにするために。 しかし、単純に乗法の逆数を見つけるのは簡単ではありません。したがって、べき乗、つまり言い換えると、2のモジュラー対数または離散対数を見つけるのが困難です。この場合、3は7に対して2のモジュラー対数です。バックグラウンドでは、これはnを法とする2の乗法次数を計算することを意味します。 チャレンジ 正の所定の奇数の整数のn1を超えると、出力最小の正の整数xここ。 例 n x 3 2 5 4 7 3 9 6 11 10 13 12 15 4 17 8 19 18 21 6 23 11 25 20 27 18 29 28 31 5 33 10 35 12 37 36 39 12 41 20 …

24
並べ替えられた!Combinatorics:Subfactorialの計算
subfactorial又はrencontres番号(A000166は)置換の組合せ論に表示階乗番号と同様の番号のシーケンスです。特に、n番目の階乗!nは、n個の要素のセットの混乱の数を示します。混乱とは、同じ位置に要素が残っていない順列です。サブ階乗は、次の繰り返し関係を介して定義できます。 !n = (n-1) (!(n-1) + !(n-2)) 実際、階乗についても同じ再帰関係が成り立ちますが、下位階乗については次から始まります。 !0 = 1 !1 = 0 (階乗の場合、もちろん1!= 1になります。) あなたの仕事は計算することである!nは、与えられたn個。 ルール 階乗のように、階乗も非常に速く成長します。プログラムが入力nのみを処理でき、!nが言語のネイティブの数値型で表現できる場合は問題ありません。ただし、アルゴリズムは理論的には任意のnに対して機能する必要があります。つまり、積分結果と中間値は、言語で正確に表現できると仮定できます。定数eが有限精度で保存または計算される場合、これは定数eを除外することに注意してください。 結果は正確な整数である必要があります(特に、科学表記法で結果を近似することはできません)。 プログラムまたは関数を作成し、入力を受け取って出力を提供する標準的な方法を使用できます。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 これはcode-golfであるため、バイト単位で測定された最短の有効な回答が勝ちます。 テストケース n !n 0 1 1 0 2 1 3 2 4 9 5 44 6 265 10 1334961 12 176214841 13 2290792932 14 32071101049 20 895014631192902121 …

13
3の10進立方根を見つける
私は、10進の数を無限に左に向かう数、または10の非常に大きな累乗を法とする整数と考えるのが好きです。 物事は左に無限に運ばれて消えます。私の言いたいことを見るため...6667 * 3 = 1に、10進の土地では、左に運ばれる「2」が無限になるので注意してください。 加算/乗算のn最後のn桁は被加数/被乗数の最後の桁のみに依存するため、10進の数に対しては加算と乗算が有効です。 与えられた場合n、n3の10進立方根の最後の桁、つまり、x満たす必要がありx*x*x = 3ます。 終了: ...878683312291648481630318492665160423850087895134587 コードは送信n=1000前に終了する必要があります。 印刷する必要がある数値がゼロで始まる場合、実際には余分なゼロを印刷するポイントではないため、先行ゼロを印刷する必要はないとしましょう。 これはcode-golfです。バイト単位の最短回答が優先されます。

22
バートランドの素数
ベルトランの仮説は、すべての整数のためと述べているN≥1少なくとも一つの素数が存在したpように、N <P≤2nのは。n <4000のこの定理を検証するために、4000のケースをチェックする必要はありません。Landauのトリックは、 2, 3, 5, 7, 13, 23, 43, 83, 163, 317, 631, 1259, 2503, 5003 すべてが素数です。これらの各数値はその前身の2倍未満であるため、各区間{y:n <y≤2n}にはこれらの素数の少なくとも1つが含まれます。 この一連の数字は、バートランド素数(OEIS A006992)であり、次のように定義されています。 a(1) = 2 a(n) = largest prime below 2a(n-1) チャレンジ このシーケンスを実装します。あなたは書くことができます nを指定した関数またはプログラムがa(n)(0または1のインデックス)を返します。 nを指定した関数またはプログラムは、このシーケンスの最初のn(またはn-1またはn + 1)エントリを返します。 無限のリスト、ストリーム、ジェネレーター、または同様の言語の同等物。

12
Nのべき乗の差として数字を書く
チャレンジ 2つの正方形の差、2つの立方体の差、またはさらに高いべき乗として表現できる数値が多数あります。正方形について言えば、2つの正方形の差として、たとえば75のような数を書くさまざまな方法があります。あなたは書ける: 75 = (10)^2 - (5)^2 = (14)^2 - (11)^2 = (38)^2 - (37)^2 それでは、挑戦について話しましょう。まず、ユーザーが数値を入力し、次にnの値を入力します。その数をaⁿ-bⁿの形式で書くことができるすべての方法を表示する必要があります。 入出力 入力は、nの数と値になります。出力には、上記の条件が満たされるように、「a」と「b」のすべてのペアが含まれます。ペアの最初の数値は、2番目の数値よりも大きくする必要があります。a、b、nおよび入力番号はすべて正の整数であり、n> 1であることに注意してください。 例 50, 2 -> (none) 32, 2 -> (9,7), (6, 2) 7, 3 -> (2,1) 665, 6 -> (3, 2) 81, 4 -> (none) 得点 これはcode-golfなので、最短のコードが優先されます!

29
パスカルの三角形(並べ替え)
ここのほとんどの人はパスカルの三角形に精通しています。連続する行で形成されます。各要素は、左上と右上の2つの隣接要素の合計です。最初の5行は次のとおりです(Generate Pascalの三角形から借用)。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 . . . これらの行を左に折りたたむ 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 . . . 昇順に並べ替えます 1 1 1 1 1 2 1 1 3 3 …

30
ダブを一緒に入手する
4chanでは、人気のゲームが入手できます。サイト上のすべての投稿には、連続した投稿IDが付与されます。あなたはそれらに影響を与えたり決定したりすることはできないので、人々は自分の投稿番号(少なくとも一部)、通常は最初の数桁を推測しようとします。ゲームの別のバージョンはダブと呼ばれ、目標は数字の最後に数字を繰り返すことです(つまり、1234555)。 あなたの仕事は、あなたがそれを受け入れたいなら、入力として投稿IDを取り(標準整数、2 ^ 32以下と仮定できます)、最後に何桁の繰り返しがあるかを返すプログラムを書くことです。 ルール 標準的な抜け穴は許可されません。 プログラムは、それを実行するために外部のカウントされていないコード/引数が必要ない限り、実際に機能するものであれば、関数、完全なプログラム、REPLコマンドでありえます。 入力は、STDIN、関数の引数、コマンドラインの引数、ファイルなど、あなたに合ったものから得ることができます。 テストケース Input: 14892093 Output: 1 Input: 12344444 Output: 5 Input: 112311 Output: 2 Input: 888888 Output: 6 Input: 135866667 //Post number I got on /pol/ few days ago, rip Output: 1

6
平方の10進連結
前提 ある夜、私はただ数字を考えていました。私は、7、10、12、13などのような数字についてユニークな何かを見つけました。彼らは正方形の正方形です!意味は、二乗したとき、それ自体が正方形で構成されることです。OEISは、2つ以上の正方形を10進数で連結したものを正方形と呼びます。 このような数の例には、7(49は2 2と3 2)13(169は4 2と3 2)と20(400は2 2と0 2)が含まれます。1369は1、36、9に分割できるので、他の例には37が含まれます。1444(38 2)は1、4、4、4 に分割できるので、用語です。 .SE、そして私にちなんで命名されました! チャレンジ TanMath番号を印刷するプログラムを設計します。番号n(1から始まる)を指定して、n番目のTanMath番号T(n)を出力します。 コード例として: >> 1 >> 7 または >> 4 >> 13 Python実装の参照(@MartinBüttnerと@ Sp3000に感謝!): from math import sqrt n = input() def r(digits, depth): z = len(digits) if z < 1: return (depth > 1) else: for i …

9
3 x 3の頑丈な正方形をすべて印刷する
(に似頑丈角魔方陣は)Nの整数1の配置である2毎に2×2のサブグリッドが同じ和を有するようにN Nによってグリッドに。 たとえば、N = 3の場合、1つの頑丈な正方形は 1 5 3 9 8 7 4 2 6 なぜなら、2 x 2の4つのサブグリッド 1 5 9 8 5 3 8 7 9 8 4 2 8 7 2 6 すべて同じ額になります23: 23 = 1 + 5 + 9 + 8 = 5 + 3 + 8 + …
24 code-golf  number  arithmetic  number-theory  grid  code-golf  binary  code-golf  popularity-contest  code-golf  chemistry  code-golf  code-golf  date  code-golf  quine  chess  code-golf  hexadecimal  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  math  date  code-golf  typography  code-golf  string  code-golf  string  code-golf  code-golf  math  arithmetic  array-manipulation  grid  code-golf  puzzle-solver  code-golf  music  audio  code-golf  decision-problem  code-golf  geometry  code-golf  number  bitwise  code-golf  string  metagolf  hexagonal-grid  code-golf  string  code-golf  sorting  popularity-contest  code-golf  game  sequence  base-conversion  binary  code-golf  decision-problem  graph-theory  natural-language  code-golf  math  parsing  optimized-output  code-golf  array-manipulation  code-golf  graphical-output  image-processing  tiling  code-golf  graph-theory  path-finding  chess  code-golf  code-golf  balanced-string  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  statistics  code-golf  chemistry 

10
フェルマーの多角数定理
フェルマーの多角数定理は、すべての正の整数が最大対角数の合計として表現できると述べています。すべての正の整数は3つの三角形番号、4つの平方数、5五角数などあなたの仕事は、正の整数取ることですまでの和として表現することができることを、この手段、整数、および出力へ -合計される角整数。nnn nnnxxxs≥3s≥3s \ge 3sssxxx 目 -gonal整数、及び、いくつかの方法で定義することができます。非数学的な方法は、番目対角数を、それぞれの長さがである辺を持つ正多角形として構築できることです。たとえば、(三角形の数)の場合:nnnsssn≥1n≥1n \ge 1s≥3s≥3s \ge 3nnnssssssnnns =3s=3s = 3 より大きい例については、こちらをご覧ください。sss math-yの定義は、の式を使用することにより、番目対角数を生成します。P(n 、s )P(n、s)P(n, s)nnnsss P(n 、s )= n2(s − 2 )− n (s − 4 )2P(n、s)=n2(s−2)−n(s−4)2P(n, s) = \frac{n^2(s-2) - n(s-4)}{2} これはウィキペディアのページにあります。 入力 条件 2つの正の整数、および。言語で最も自然な表現でこれらの整数を入力できます(10進数、単項、教会の数字、整数値の浮動小数点数など)。sssバツバツxS ≥ 3s≥3s \ge 3 出力 最大長の整数リスト。ここで、の合計は等しく、すべての整数は対角整数です。繰り返しますが、整数は、言語の自然な表現で出力される場合があり、明確で一貫したセパレータがあります(したがって、10進出力の場合は非10進文字、単項出力などに使用されるものとは異なる文字)LLLsssLLLバツバツxLLLsss ルール 入力または出力が言語の整数制限を超えることはありません LLLは注文する必要はありません 複数の可能な出力の場合、いずれかまたはすべてが受け入れられます …

12
Divinacciシーケンス
ディビナッチ(OEIS) フィボナッチ数列を実行しますが、代わりに次を使用します。 f(n) = f(n-1)+f(n-2) つかいます: f(n) = sum(divisors(f(n-1))) + sum(divisors(f(n-2))) の入力に対してn、n番目の項を出力するには、プログラムに1つの入力のみが必要です。 最初の14の用語(0からインデックス、1からインデックス、使用した状態): 0 | 0 # Initial | [] 1 | 1 # Initial | [1] => 1 2 | 1 # [] + [1] | [1] => 1 3 | 2 # [1] + [1] | [1,2] => …

14
コードを再利用してください!
この課題では、2つの重要な問題を一度に解決しようとします。彼らです: 整数aおよびbを指定すると、a b -1が素数であるかどうかがわかります。 整数aおよびbを指定すると、nCr(a、b)を返します。 具体的には、2つのプログラムを作成する必要があります。1つは最初のタスクを実行し、もう1つは他のタスクを実行します。両方の問題を一度に解決したいので、両方のプログラムで同じコードを使用することをお勧めします。 得点 回答のスコアは、2つのプログラム間のレーベンシュタイン距離です。スコアが低いほど優れています。同点の場合、2つのプログラムの最短の組み合わせコードでの答えが勝ちです。このスクリプトを使用して、ソリューションのスコアを計算できます。 ルール 上記のタスクを解決する2つのプログラムを同じ言語で作成する必要があります。任意のI / Oメソッドを使用できます。タスク1では、真偽値を返すか、2つの値を選択してtrueとfalseを意味し、それに応じて返すことができます。例えば。あなたはそれが"prime"真を"not prime"意味し、偽を意味することを選ぶことができます。 使用するアルゴリズムは、可能なすべての入力に対して機能する必要がありますが、使用される数値タイプの制限のために大きな数値に対してコードが失敗しても問題ありません。入力が有効であると想定できます。 プログラムのどのサブセットも問題を解決してはなりません。文字が削除された場合、コードは機能しません。たとえば、次のコードは無効です。プログラムを中断せずに未使用のelse-blockを削除できるためです。 if (1) { /* change to 0 to get the second program*/ ... } else { ... } 標準の抜け穴は許可されていません。 テストケース a b -1は素数ですか? a b 1 1 false 2 3 true 5 2 false 2 …

6
正の整数の部分分解
正の整数のコレクションd_1 d_2 ... d_kは、次の場合に正の整数の因数分解nです。 d_1 * d_2 * ... * d_k = n 各正の整数には一意の素因数分解がありますが、一般に、いくつかの項が合成される因数分解もあります。例えば 12 = 6 * 2 = 4 * 3 = 3 * 2 * 2 入力として単一の正の整数を取り、その明確な因数分解の完全なリストを返すか出力するプログラム、関数、動詞、または同様のものを書きます。因数分解は任意の順序で作成でき、それらの用語は任意の順序で作成できますが、2つが互いの順列であってはなりません。因数分解には12つの例外が含まれないn場合がn*1ありnます。入力のために、空のリストの代わりに1因数分解1を与えることができます。 入力は符号付き32ビット整数の範囲内にあると想定できます。出力が文字列である場合、因数分解内の数値の区切りと因数分解の区切りの間には明確な区別があるはずですが、(たとえば)因子をで結合する必要はありません*。 コードは、妥当なデスクトップマシンで10分以内に有効な入力を処理できる必要があります。 例 1 [[]] or [[1]] or [[1 1]] 7 [[7]] or [[7 1]] or [[1 7]] 12 [[12] …

10
高度に合成された数値
高度合成数は、任意の小さな正の整数で有するよりも約数を有する正の整数です。これは、OEISシーケンスA002182です。最初の20の用語は 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, 720, 840, 1260, 1680, 2520, 5040, 7560 たとえば、43の除数(つまり、1、2、4)があり、3には2の除数しかなく、2にも2の除数があり、1には1の除数があるため、シーケンス内にあります。 チャレンジ 正の整数入力を考えるとnは、出力のいずれかのn番目の高度合成数か、最初のn個お好みで高度合成数、(ただし、選択はすべての入力に対して同じでなければなりませんN)。 ルール プログラムまたは関数は、無限の時間とメモリが与えられ、データ型の制限を考慮せずに、任意の大きな入力に対して理論的に機能する必要があります。基本的に、これは有限数の値をハードコーディングしないことを意味します。 実際には、プログラムまたは関数は妥当な時間(たとえば1分未満)でnから20まで実行する必要があります。最大入力または出力は、言語の標準データ型によって制限される場合があります(ただし、アルゴリズムは理論的に機能するはずです)任意の大きな数の場合)。 単項を含む、合理的な入力および出力形式が許可されます。 コードゴルフ。少ないバイトが勝ちます。

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