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

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

30
最初に0ではなく、個別の数字でランダムなn桁の数字を取得します
私はこの質問を読み、それがいい挑戦になると思った。 仕事 入力0<n<10で乱数を生成する 正確にn桁 最初ではない 0 そう f(n)>10**(n-1)-1 個別の数字 受賞基準 これはコードゴルフなので、最短のコードが優先されます。 ランダム ランダムに均等に分散されるということです。そのため、プログラムの観点からは、考えられる各数字には同じチャンスがあります。あなたが書いている言語が奇妙な乱数ジェネレーターを持っているなら、それを使用しても大丈夫です。 例 ランダムに選択する値のリストn=2は次のとおりです。 [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, …
22 code-golf  number  random  grid  game  king-of-the-hill  javascript  code-golf  arithmetic  statistics  code-golf  math  code-golf  math  code-golf  string  palindrome  code-golf  string  interactive  code-golf  quine  polyglot  code-golf  string  stack-exchange-api  code-golf  number-theory  decision-problem  code-golf  tips  code-golf  string  internet  code-golf  graphical-output  image-processing  fractal  code-golf  ascii-art  geometry  hexagonal-grid  code-golf  string  restricted-source  hello-world  code-golf  game  code-golf  cipher  code-golf  permutations  cops-and-robbers  permutations  cops-and-robbers  code-golf  internet  stack-exchange-api  code-golf  ascii-art  random  code-golf  tips  code-golf  ascii-art  code-golf  code-golf  kolmogorov-complexity  code-golf  string  unicode  code-golf  number  sequence  primes  palindrome  code-golf  game  decision-problem  code-golf  math  geometry  code-golf  graphical-output  interactive  code-golf  set-partitions  code-golf  number  arithmetic  restricted-source  code-golf  decision-problem  python  recursion  code-golf  ascii-art  code-golf  source-layout  code-golf  function  recursion  functional-programming  code-golf  game  combinatorics  permutations  code-golf  string  file-system  code-golf  string  hashing  code-golf  stack-exchange-api  code-golf  string  code-golf  math  number  arithmetic  polyglot 

20
逆にして減算
チャレンジの説明 正の整数を取り、nその桁を逆にしてrev(n)、これら2つの数値の差の絶対値を取得および取得します:(|n - rev(n)|またはabs(n - rev(n)))。 例: n = 5067 rev(n) = 7605 |n - rev(n)| = |5067 - 7605| = |-2538| = 2538 この操作を何回も繰り返した後、ほとんどの数字は0(ループを終了する)になります... 5067 -> 2538 -> 5814 -> 1629 -> 7632 -> 5265 -> 360 -> 297 -> 495 -> 99 -> 0 ...ただし、一部の数値(など1584)は無限ループに陥ります: 1584 -> 3267 …

15
Nのパーティションを計算します
あなたの挑戦は簡単です:整数Nを与えられ、合計がNになる正の整数のリストを出力します。たとえば、入力が5の場合、出力する必要があります [1, 1, 1, 1, 1] [1, 1, 1, 2] [1, 1, 3] [1, 2, 2] [1, 4] [2, 3] [5] これらのリストは特定の順序で出力する必要はなく、各リスト内の数字も出力する必要はありません。たとえば、これは「5」の受け入れ可能な出力にもなります。 [1, 1, 1, 2] [5] [3, 1, 1] [2, 1, 2] [4, 1] [1, 1, 1, 1, 1] [2, 3] 入力は正の整数であると安全に想定でき、この数値は任意の妥当な形式で取得できます。 これを行う組み込み関数は使用できません。 プログラムが失敗するか、大きなNに対して時間がかかりすぎる場合、これは問題ありませんが、少なくとも最初の15に対して正しい出力を生成する必要があります。 標準的な抜け穴が適用され、バイト単位の最短回答が勝ちます! テストIO 1: [[1]] 2: …

9
スーパーコラッツの数字を印刷する
このCollat​​zシーケンスあなたが、任意の正の整数で始まるこの例では、我々は10を使用し、それへのステップのセットを適用する場所(も3X + 1問題と呼ばれる)があります。 if n is even: Divide it by 2 if n is odd: Multiply it by 3 and add 1 repeat until n = 1 10は偶数なので、2で割って5を取得します。5は奇数です。したがって、3を乗算して1を加算して16を取得します。16は偶数です。 4は2であり、2の半分は1です。これは6ステップを要したため、10の停止距離は6であると言います。 Super Collat​​z番号は、停止距離がそれよりも小さいすべての番号の停止距離よりも大きい番号です。図6は、8の停止距離を有するので、例えば、図6は、2 1を有しており、1は0(持つ、3 7を有し、4 2を有し、5は5の停止距離を有し、スーパーこのCollat​​z番号A006877 OEISで)あなたが必要と番号を取るn個の入力として、及びまでのすべてのスーパーこのCollat​​z番号アウト出力のn。 ルール 完全なプログラムまたは機能が許容されます。 Super Collat​​zシーケンスを事前計算またはハードコーディングすることはできません。 任意の妥当な形式で入力できます。 出力は、関数からリストとして返されるか、STDOUTまたはファイルに出力されます。最も便利な方。 無効な入力(非数字、小数、負数など)は、未定義の動作を引き起こします。 サンプルのpython def collatzDist(n): if n == 1: return …

22
qaはnの2次剰余ですか?
与えられた2つの入力が以下をq n決定するqと、が2次剰余であるがnます。 つまり、正方形のmod はxどこにありますx**2 == q (mod n)かqnますか? 入力 2つの整数qおよびn、ここでqおよびnは任意の整数です0 <= q < nです。 出力 真実か偽か。 オプションで、以下のいずれか(またはすべて)xを印刷しますx**2 == q (mod n) 例 >>> quadratic_residue(1, 5) True >>> quadratic_residue(3, 8) False >>> quadratic_residue(15, 22) True ルール コードはプログラムまたは関数でなければなりません。入力は任意の順序にすることができます。これはコードゴルフであるため、バイト単位の最短コードが優先されます。 不明な点がある場合や修正が必要な場合は、お知らせください。 ボーナス 関数がq任意の整数として受け入れる場合の2バイトのボーナス。 カタログ var QUESTION_ID=65329;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=47581;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"http://api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function …

2
自然数の列
定義 連結された自然数(1から始まる正の整数)の無限の行があります。 1234567891011121314151617181920212223... チャレンジ 入力として位置番号を受け入れ、上記で定義された行のその位置から数字を出力する任意の言語でプログラムを作成します。 位置番号は、任意のサイズの正の整数です。つまり、最初の位置は1であり、出力数字「1」が生成されます。 入力は、10進数(例:13498573249827349823740000191)、または正の整数に対応するe表記(例:1.2e789)のいずれかです。 非常に大きなインデックスを入力として指定すると、プログラムは妥当な時間(最新のPC / Macでは10秒)で終了する必要があります(たとえば、1e123456-123456ゼロの1)。したがって、単純な反復ループは受け入れられません。 無効な入力が与えられた場合、プログラムは1秒以内にエラーで終了する必要があります。例えば。1.23e(無効)、または1.23e1(12.3に等しい-整数ではない) パブリックBigNumライブラリを使用して数値を解析/保存し、それらに対して単純な数学演算を実行しても問題ありません(+-* / exp)。バイトペナルティは適用されません。 最短のコードが優先されます。 TL; DR 入力:bignum整数 出力:無限行のその位置の数字 123456789101112131415... いくつかの受け入れテストケース 「入力:出力」という表記で。それらはすべて合格するはずです。 1:1 999:9 10000000:7 1e7:7(上記の行と同じ) 13498573249827349823740000191:6 1.1e10001:5 1e23456:5 1.23456e123456:4 1e1000000:0 1.23e:エラー(無効な構文) 0:エラー(範囲外) 1.23e1:エラー(整数ではない) ボーナス! 数字内の桁位置番号を出力し、数字自体を出力します。例えば: 13498573249827349823740000191: 6 24 504062383738461516105596714 番号「50406238373846151610559 6 714」の位置24の数字「6」です。 1e1000000: 0 61111 1000006111141666819445...933335777790000 999995桁の長い数字の位置61111の数字「0」ここには含めません。 ボーナスタスクを実行する場合、コードのサイズに0.75を掛けます クレジット …

3
64ビット整数の因数分解
書き込みゴルフ STDOUT上の末尾の改行に続く(最後の改行が続く)標準入力から整数を読み取り、出力の素因数は改行で区切らアセンブリプログラムを、。 素因数は特定の順序である必要はありません。1素因数ではありません。 あなたのゴルフ(組み立て後)バイナリが8192バイトに収まらなければなりません。 プログラムは、それぞれ次の入力のいずれかを使用して10回実行することによりスコアリングされます。 8831269065180497 2843901546547359024 6111061272747645669 11554045868611683619 6764921230558061729 16870180535862877896 3778974635503891117 204667546124958269 16927447722109721827 9929766466606501253 これらの数字は、難易度の観点から大まかに分類されています。最初のものは、試行分割によって簡単に解決できるはずです。 この数字のセットに対する最適化は、質問の精神に反します。数字のセットはいつでも変更できます。プログラムは、これらだけでなく、任意の正の64ビット入力番号に対して機能する必要があります。 スコアは、上記の数値を因数分解するために使用されるCPUサイクルの合計です。 GOLFは非常に新しいため、ここにいくつかのポインターを含めます。あなたは読むべきGOLFのすべての命令およびサイクルコストと仕様を。Githubリポジトリのサンプルプログラムにあります。特に、入力/出力を示す階乗のサンプルプログラムを見てください。 を実行して、プログラムをバイナリにコンパイルしますpython3 assemble.py your_source.golf。次に、を使用してプログラムを実行するとpython3 golf.py your_source.bin、サイクルカウントも出力されます。-dフラグを使用--helpして、プログラムの終了時にレジスタの内容の値を確認します- すべてのフラグを確認するために使用します。

12
底の階乗の最後の非ゼロ桁
n b k入力の出力として3つの正の整数を指定するか、またはkの基本b表現の末尾のゼロの前の最後の桁を返すプログラムまたは関数を作成する必要がありn!ます。 例 n=7 b=5 k=4 factorial(n) is 5040 5040 is 130130 in base 5 the last 4 digits of 130130 before the trailing zeros are 3013 the output is 3013 入力 n b kここで、3つの正の整数2 <= b <= 10。 入力整数の順序は任意に選択できます。 出力 整数または整数リストとして返されるか出力される数字のリスト。 先行ゼロはオプションです。 あなたの解決策は、私のコンピューターで1分以内にすべてのサンプルテストケースを解決する必要があります(私は、近いケースのみをテストします。 例 提出物の正確性を確認するための新しいテストが追加されました。(これらは1分未満のランタイムルールの一部ではありません。) 入力=>出力(先行ゼロの省略を選択可能) 3 10 …

19
ラッキーナンバーを生成
ストーリー: ルーシーはジョージに彼のラッキーナンバーとは何かを尋ねました。熟考した後、ジョージはラッキーナンバーをいくつか持っていると答えました。少しの混乱の後、ルーシーはジョージに彼の最初のnラッキーナンバーとは何かを尋ねました。その後、ジョージは彼に、あなたのために、彼のために仕事をするためのプログラムを書くように頼みました。 チャレンジ: 標準入力/関数引数から文字列または整数を受け取るプログラム/関数を作成しnます。プログラム/関数は、最初のn ラッキーナンバーを返し/出力します。ラッキーナンバーは、ふるいを介して次のように定義されます。 正の整数から始めます。 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, ... 次に、1つおきの数字を削除します。 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, ... 残りの2番目の数値は3なので、3番目ごとに削除します。 1, …

28
nの最後のゼロ以外の数字!
入力として1≤N≤1,000,000の整数を指定すると、N!の最後のゼロ以外の数字が出力されます。、どこ!階乗(1からNまでのすべての数値の積)です。これは、OEISシーケンスA008904です。 プログラムは、有効な入力のために妥当なマシンで10秒以内に終了する必要があります。 テストケース 1 => 1 2 => 2 3 => 6 4 => 4 5 => 2 6 => 2 7 => 4 8 => 2 9 => 8 10 => 8 100 => 4 1000 => 2 10000 => 8 100000 => 6 1000000 => 4 これはコードゴルフなので、バイト単位の最短コードが勝ちです!

5
合同数
定義: 三角形が考慮される直角三角形内角の一つが正確に90度である場合。 番号が考えられる合理的なことは、すなわち、整数の比で表すことができるならばp/q、両方の場所、pおよびq整数です。 3つの辺すべてが合理的な領域の直角三角形が存在する場合n、数値は合同の数値ですn。 これはOEIS A003273です。 チャレンジ これは意思決定の課題です。入力数が与えられると、合同数であるx場合xは明確で一貫した値を出力し、合同数でxない場合は別個の明確で一貫した値を出力します。出力値は、必ずしも言語で真実/偽である必要はありません。 特別ルール この挑戦の目的のために、バーチとスウィナートン-ダイアーの予想は真実であると仮定することができます。あるいは、Birch and Swinnerton-Dyerの予想を証明できる場合は、1,000,000ドルのミレニアム賞金を請求​​してください。;-) 例 (True合同数などに使用False)。 5 True 6 True 108 False 規則と説明 入力と出力は、任意の便利な方法で指定できます。 結果をSTDOUTに出力するか、関数結果として返すことができます。出力でどの値を取ることができるかを提出してください。 完全なプログラムまたは機能のいずれかが受け入れられます。 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。

16
再帰的コラッツ予想
このCollat​​z推測あなたは任意の正の整数を取る場合は、以下のアルゴリズム十分な回数繰り返すこと公準: if number is odd, then multiply by three and add one if number is even, then divide by two 最終的には1になります。常に機能するように見えますが、常に機能することは証明されていません。 あなたはすでに1に達するのにかかる時間を計算しているので、私は少し物事を切り替えると思いました。 指定された正の整数から始めて、1(「停止時間」)に達するまでにかかる時間を計算します。次に、その番号の停止時間を見つけます。 1に達するまで、または100回の反復という完全に任意の制限に達するまで繰り返します。前者の場合、それが何回繰り返したかを出力します。後者の場合、整数でない限り、「Fail」または選択した他の一貫した出力を出力します1≤n≤100。このオプションに空の文字列を出力することはできません。ただし、範囲[1、100]以外の整数の出力は許可されています。 例: Input: 2 2->1 Output: 1 Input: 5 5->5->5->5->5->... Output: Fail Input: 10 10->6->8->3->7->16->4->2->1 Output: 8 Input: 100 100->25->23->15->17->12->9->19->20->7->16->4->2->1 Output: 13 Input: 10^100 10^100->684->126->108->113->12->9->19->20->7->16->4->2->1 Output: 13 …

21
過剰を決定する
超過剰数は整数であり、nは、上部との比に向かう新しいセットその除数サム関数 σを。換言すれば、n個全ての正の整数のための有り余る場合にのみ、あるX未満であるN。 σ(n)n>σ(x)xσ(n)n>σ(x)x\frac{\sigma(n)}n>\frac{\sigma(x)}x いくつかの値の場合: n σ(n) σ(n)/n superabundant 1 1 1.0000 yes 2 3 1.5000 yes 3 4 1.3333 no 4 7 1.7500 yes 5 6 1.2000 no 6 12 2.0000 yes 7 8 1.1429 no 8 15 1.8750 no 9 13 1.4444 no これらの長いリスト(テストケース用)は、OEIS A004394にあります。 非常に推奨されるネガティブテストケースの1つ(インタープリターが処理できる場合)は360360です。 チャレンジ プログラムは、単一の正の整数を受け取り、その整数が過剰であるかどうかを表す真偽値を出力する必要があります。 これはcode-golfであるため、バイト単位の最短回答が優先されます。

16
もう一つのプログラムと私は出かけています!
正の整数ネスティングレベル所定のn文字列s印刷可能なASCII文字(のと~同じ言語で実行すると、プログラムを出力するプログラムを出力し、出力プログラム。。。文字列を出力しますs。 合計でnプログラムを生成する必要があります。すべてのプログラムは回答と同じ言語で実行する必要があります。 注:プログラムまたは関数を出力することができます-提出物としてデフォルトで許可されているもの。 あなたのs言語のプログラムや関数が通常どのように文字列を入力するかをエスケープ文字で入力できます。 例 例えば、与えられたn=1とs="recursion"、Pythonの2プログラムのかもしれない出力: print "recursion" これを実行すると出力されます: recursion 与えられたn=2s = "PPCG"の場合、Python 2プログラムは次を出力します。 print "print \"PPCG\" " この出力の実行: print "PPCG" この出力の実行: PPCG 関連(+タイトルのインスピレーション):もう1つのLULと私は出ています 関連(サンドボックス内-現在削除されていますが、十分な評判で表示できます):ソースコードの再帰 テストケース 次のテストケースでコードが機能することを確認します(1行に1つ)。 n s 2 PPCG 4 Robert'); DROP TABLE Students;-- 17 Deep 2 Spaces In Here 3 "Don't forget quotes!" 5 'Backt`cks might be …
21 code-golf  recursion  code-golf  kolmogorov-complexity  board-game  code-golf  number-theory  polynomials  code-golf  code-golf  array-manipulation  polyglot  alphabet  answer-chaining  code-golf  sequence  math  atomic-code-golf  abstract-algebra  proof-golf  code-golf  internet  code-golf  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  ascii-art  number  integer  code-golf  decision-problem  binary-matrix  code-golf  number  sequence  number-theory  code-golf  math  decision-problem  matrix  abstract-algebra  code-golf  string  keyboard  code-golf  fractal  code-golf  math  sequence  combinatorics  hello-world  vim  code-golf  sequence  code-golf  graphical-output  image-processing  code-golf  decision-problem  matrix  linear-algebra  code-golf  ascii-art  code-golf  math  code-golf  ascii-art  graphical-output  code-golf  string  code-golf  string  substitution  code-golf  string  ascii-art  code-golf  arithmetic  code-golf  number  array-manipulation  decision-problem  code-golf  kolmogorov-complexity  code-generation  fractal  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  code-golf  string  array-manipulation  code-golf  music  code-golf  array-manipulation  code-golf  internet  stack-exchange-api  math  fastest-algorithm  code-golf  binary  bitwise  code-golf  date  code-golf  string  code-golf  sequence  integer  code-golf  arithmetic  number-theory  code-golf  string  random 

19
パスカルの交互三角形
パスカルの三角形は1、各行を開始し、連続する加算から形成することで生成されます。ここでは、代わりに、乗算と加算を交互に行うことにより三角形を形成します。 我々は、行を開始する1だけで孤独で1。その後、奇数行で加算が行われ、偶数行(1-indexed)で乗算が行われます。追加ステップを実行するとき、三角形の外側のスペースが0sで埋められていると仮定します。乗算ステップを実行するとき、外側が1s で満たされていると仮定します。 7行までの完全な三角形です。*または+その行を生成するために行ったものステップ左側番組に。 1 1 2 * 1 1 3 + 1 2 1 4 * 1 2 2 1 5 + 1 3 4 3 1 6 * 1 3 12 12 3 1 7 + 1 4 15 24 15 4 1 チャレンジ inputが与えられると、この三角形のth番目の行をn出力しnます。 ルール 代わりに0インデックスを選択することもできますが、上記とまったく同じ三角形が生成されるように、加算行と乗算行がフリップフロップする必要があることに注意してください。これを行うことを選択した場合は、提出物に明記してください。 入力と出力は、言語のネイティブ整数型に適合すると仮定できます。 …

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