Questions tagged «number-theory»

数论涉及数的性质和关系,主要是正整数。

12
返回等分序列序列的第n个数字
0.定义 一个序列是一个数字的列表。 一个系列是数字列表的总和。自然数 集包含所有“大于零的非负整数”。自然数j 的除数(在这种情况下)是自然数i,因此j ÷ i也是自然数。 1.前言 一对夫妇在这个网站的其他问题提等分的概念,或自然数的约数的序列一这是不到一个。确定友好数涉及计算这些除数的和,称为等分和或等分序列。每个自然数都有自己的等分和,尽管数字的等分和的值不一定是该数字唯一的。(示例,每个质数的等分和均为1。) 2.挑战 给定一个自然数n,返回n等分和序列的第th个数字。从1的序列开始的序列中的前几个序列是: {0, 1, 1, 3, 1, 6, 1, 7, 4, 8, 1, 16, 1, 10, 9, 15, 1, 21, 1, 22, 11, 14, 1, 36, 6, 16, 13} 串联起来,它们看起来像: 0113161748116110915121122111413661613 根据您的喜好,输入可以是零索引或一索引。解决方案必须是能够返回第10,000位数字(最多输入9999或10000)的程序或函数。最短的解决方案胜出。 3.测试案例 正确的输入输出对应包括但不限于以下各项: 0 or 1 -> 0 4 or …

19
有限的康托尔对角线
给定一个N整数列表(每个整数都有N数字),输出一个因第一个数字而与第一个数字不同的数字,由于第二个数字而与第二个数字不同的数字,依此类推。 例 鉴于此列表: 1234 4815 1623 4211 数字2932的第一个数字与第一个数字的第一个数字不同,第二个数字与第二个数字的第二个数字不同,依此类推。因此,它是有效的输出。 输入项 您可以同时使用列表和N输入,也可以根据需要仅使用列表。 列表中的每个整数必须与列表的长度(N)一样多 数字不会有任何前导零 输入列表必须包含数字,而不是字符串。 您可以通过STDIN或类似方式将输入作为函数参数。 您可以假设列表的长度不超过10个元素(列表中的任何数字都不能大于2147483647)。 产出 输出不在列表中是不够的。位数必须如上所述。 您可以使用任何遵循不同数字约束的数字选择策略。 该数字不能有前导零 您可以通过输出数字STDOUT,从函数返回数字等。 测试用例 Input: 12345678 23456789 34567890 45678901 56789012 67890123 78901234 89012345 Possible output: 24680246 Input: 1 Possible output: 2 计分 这是代码高尔夫球,因此最短的答案以字节为单位。

9
Repunits的新颖主要因素
背景 人们在聊天中谈论素分解,我们发现自己在谈论repunits。Repunits是称为repdigits的数字的子集,repdigits仅由重复数字组成,例如222或4444444444444444,但是repunits仅由组成1。 因此,第一耦合repunits是1,11,111等。这些可通过称为[R Ñ,所以ř 1 = 1,- [R 2 = 11,等,和由下式产生R(n) = (10^n - 1)/9,与n > 0。 这些重复单元编号的素数分解遵循OEIS中的序列A102380。例如: R 1 = 1 R 2 = 11 R 3 = 111 = 3 * 37 R 4 = 1111 = 11 * 101 R 5 = 11111 = 41 * 271 …

30
生成雷卡曼的序列
Recamán的序列(A005132)是一个数学序列,定义如下: A(0) = 0 A(n) = A(n-1) - n if A(n-1) - n > 0 and is new, else A(n) = A(n-1) + n 上面漂亮的LaTex版本(可能更易读): A(n)=⎧⎩⎨0A(n−1)−nA(n−1)+nif n=0if A(n−1)−n is positive and not already in the sequenceotherwiseA(n)={0if n=0A(n−1)−nif A(n−1)−n is positive and not already in the sequenceA(n−1)+notherwiseA(n) = \begin{cases}0 & \textrm{if …

9
汉明数
给定一个正整数,按顺序打印许多汉明数。 规则: 输入将为正整数Ñ ≤ 1 ,000 ,000n≤1,000,000n \le 1,000,000 输出应为https://oeis.org/A051037的前n个术语 执行时间必须小于1分钟 这是代码高尔夫球;最短代码胜出

13
Dirichlet卷积
该狄利克雷卷积是一种特殊的卷积出现在数论中一个非常有用的工具。它对一组算术函数进行运算。 挑战 给定两个算术函数(即函数),计算Dirichlet卷积如下定义。F,g ^f,gf,gF,g ^:N → Rf,g:N→Rf,g: \mathbb N \to \mathbb R(f ∗ g ):N → R (f* 克):N → R(f∗g):N→R(f * g): \mathbb N \to \mathbb R 细节 我们使用约定。0 ∉ Ñ = { 1 ,2 ,3 ,... }0∉N={1,2,3,…} 0 \notin \mathbb N = \{1,2,3,\ldots \} 两个算术函数的Dirichlet卷积再次是算术函数,它的定义为(两个和都是等价的。表达式表示除以,因此求和在的自然除数上 。类似地,我们可以用F* 克f∗gf*gF,g ^f,gf,g(f* …

10
重复此GCD操作
问题A3来自 2008年Putnam竞赛的说: 开始一个有限序列a1,a2,…,ana1,a2,…,aña_1, a_2, \dots, a_n正整数。如果可能的话,选择两个指数j&lt;kj&lt;kj < k使得一种Ĵ一种Ĵa_j不划分akaka_k,并更换ajaja_j和akaka_k通过gcd(aj,ak)gcd(aj,ak)\gcd(a_j, a_k)和LCM (aĴ,aķ)lcm(一种Ĵ,一种ķ)\text{lcm}(a_j, a_k), 分别。证明如果重复此过程,则它最终必须停止并且最终顺序不取决于所做的选择。 您在此挑战中的目标是将有限整数的正整数作为输入,并输出重复此过程直到无法进一步进行的结果。(也就是说,直到结果序列中的每个数字都除以其后的所有数字。)您无需解决Putnam问题。 这是代码高尔夫:每种编程语言中最短的解决方案胜出。 测试用例 [1, 2, 4, 8, 16, 32] =&gt; [1, 2, 4, 8, 16, 32] [120, 24, 6, 2, 1, 1] =&gt; [1, 1, 2, 6, 24, 120] [97, 41, 48, 12, 98, 68] =&gt; [1, 1, …

3
交换程序一半以测试除数
四个整数序列 在此挑战中,您将测试正整数的四个不同属性,由以下序列给出。正整数N为 如果N的适当除数之和等于N,则为完美(OEIS A000396)。序列以6,28,496,8128,33550336,8589869056,137438691328,2305843008139952128 ...开始 如果N的除数为N的除数,则可重构(OEIS A033950)。序列以1,2,8,8,9,12,18,24,36,40,56,60,72,80,84,88,96,104,108,128 ...开始 实际(OEIS A005153)中,如果每个整数1≤ķ≤Ñ是一些不同的除数的总和Ñ。序列以1,2,4,4,6,12,12,18,20,24,28,30,32,36,40,42,48,54,56 ...开始 如果每个数字1≤K &lt;N的除数严格小于N,则为高度复合(OEIS A002128)。该序列以1、2、4、6、12、24、36、48、60、120、180、240、360、720、840、1260、1680、2520、5040开头。 四个程序 您的任务是编写四个程序(表示完整程序,函数定义或通过任何标准方法执行I / O的匿名函数)。每个程序应解决这些序列之一的成员资格问题。换句话说,每个程序将以N≥1的正整数作为输入,如果N在序列中,则输出真实值;否则,输出虚假值。您可以假定N在编程语言的标准整数类型的范围内。 程序必须以以下方式关联。有四根弦ABCD,使得 AC 是识别完美数字的程序。 AD 是识别可重构数字的程序。 BC 是识别实际数字的程序。 BD 是识别高度合成数字的程序。 计分 您的分数是字符串的总长度(以字节为单位)ABCD,或者换句话说,是四个程序的总字节数除以2。每种编程语言中得分最低的是获胜者。适用标准代码高尔夫球规则。 例如,如果四个字符串是a{,b{n,+n}和=n}?,然后将四个节目是a{+n},a{=n}?,b{n+n}和b{n=n}?,比分是2 + 3 + 3 + 4 = 12。

19
使三角计划有效
三角性是Xcoder 先生开发的一种新的esolang ,其代码结构必须遵循非常特定的模式: 对于第nth行代码,其上必须完全2n-1有程序的字符。这将导致三角形/金字塔形,第一行仅包含一个字符,其余行以2为增量增加。 每行.的左侧和右侧都必须用s 填充,以使字符以其行为中心,并且所有行都应填充为相同的长度。如果l定义为程序中的行数,则程序中的每一行的长度必须为2 * l - 1 例如,左侧的程序有效,而右侧的程序无效: Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS 当布置在有效结构中时,该名称变得显而易见。 任务 您的任务是将单个行字符串作为代表Triangularity代码的输入,并将其输出转换为有效代码,如上所述。 I / O规格: 输入将仅包含范围内的字符 0x20 - 0x7e 输入的长度始终是一个平方数,因此可以很好地填充。 您必须将点用于输出填充,而不要使用其他东西。 您可以通过任何可接受的方法输入和输出。这是一个代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 input ---- output g ---- g PcSa ---- .P. …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

3
写有理数作为质数的因数比
注意:此挑战已发布在沙盒上。 介绍 这项挑战的灵感来自2009年Putnam B1,这是本科数学竞赛中的一个问题。问题如下: 证明每个正有理数都可以写成素数(不一定是素数)的阶乘乘积的商。例如, 挑战 您的挑战是采用一对相对质数为正的整数,它们代表正有理数(或仅是有理数本身)的分子和分母作为输入,并输出两个质数的列表(或数组等),以便输入的有理数等于第一个列表中素数阶乘的乘积与第二个列表中素数阶乘的乘积之比。 笔记 第一个列表和第二个列表中可能没有任何素数;但是,素数在任意一个列表中可能会出现多次。 可以假定每个输入(非严格地)在1到65535之间。但是,不能假设您需要输出的数字的阶乘将在此范围内。 输入和输出示例 以下是合法输入和输出的示例。 input=&gt;output 10,9 =&gt; [2,5],[3,3,3] 2,1 =&gt; [2],[] 3,1 =&gt; [3],[2] 1,5 =&gt; [2,3,2],[5] (elements of a list may be in any order) 3,2 =&gt; [3],[2,2] 6,1 =&gt; [3],[] 输入(2,2),(0,3),(3,0),(3,6)和(1,65536)是非法输入(即,您的程序不需要对它们进行任何特定操作)。以下是一些非法输出的示例: 1,2 =&gt; [2],[2,2] (2 is in both returned lists) …

30
从偶数中减去赔率
给定一个非负整数,返回其偶数位和与奇数位之和之间的绝对差。 默认规则 适用标准漏洞。 您可以通过任何标准的输入/输出方法进行输入并提供输出。 您可以将输入作为字符串,整数或数字列表。 这是代码高尔夫球,因此每种语言中以字节为单位的最短代码胜出! 测试用例 输入〜&gt;输出 0〜&gt; 0(| 0-0 | = 0) 1〜&gt; 1(| 1-0 | = 1) 12〜&gt; 1(| 2-1 | = 1) 333〜&gt; 9(| 0-(3 + 3 + 3)| = 9) 459〜&gt; 10(| 4-(5 + 9)| = 10) 2469〜&gt; 3(|(2 + 4 + 6)-9 | = …

4
费马的分解助手
我们希望因式分解半素。这项挑战的目标是找到两个小整数和,用Fermat方法将分解为,从而可以轻松的因数。ü v ü v ñ ñNNNuuuvvvuvNuvNuvNNNN 任务 给定一个半素数 和一个正整数,我们将和定义为:ķ X ÿNNNkkkxxxyyy Ŷ=X2-ķÑx=⌈kN−−−√⌉x=⌈kN⌉x=\lceil\sqrt{kN}\rceil y=x2−kNy=x2−kNy=x^2-kN 步骤#1-查找kkk 首先,您需要找到k的最小可能值,以kkk使yyy为平方数(也称为完美平方)。 这允许通过Fermat分解因子方法的单次迭代分解kN。更具体地说,这立即导致:ķ ñķñkN kN=(x+y√)×(x−y√)kN=(x+y)×(x−y)kN=(x+\sqrt{y})\times(x-\sqrt{y}) (更新:此序列现在发布为A316780) 步骤#2-分解ķķk 然后,您必须找到两个正整数üüu和vvv,使得: c u = x + √uv=kuv=ķuv=k dv=X- √cu=x+y√cu=x+ycu=x+\sqrt{y} dv=x−y√dv=x−ydv=x-\sqrt{y} 其中cCc和ddd是N的素因NNN。 摘要 您的任务是编写一个程序或函数,将作为输入,并以任何顺序和任何合理的格式打印或输出和。ü vNNNuuuvvv 例 让我们考虑N=199163N=199163N = 199163 步骤1 的最小可能值是,这给:40kķk404040 ÿ=28232-40×199163=7969329-7966520=2809=532ķÑ=(2823+53)×(2823-53)ķÑ=2876×2770x = ⌈ (40 × 199163----------√)⌉ = 2823X=⌈(40×199163)⌉=2823x = \lceil(\sqrt{40 …

8
反向插入排序
目的 根据“ 插入排序”对列表进行排序的动作,生成原始的加扰列表。原始列表将包含从0到N-1(包括)的所有数字,其中N输入的大小。 输入项 一个包含对列表进行排序的必要动作的列表。每个值代表由原始数字(加扰的数字)移位到其右位置的插槽数量,请记住,此过程是从左到右。输入列表 中(0索引)位置的值i将介于0和之间i。 您不需要处理无效的输入,在这种情况下,任何行为都是可以接受的(崩溃,无限循环等)。 输出量 混乱的名单 逐步生成动作 Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

14
您的基数为1-2-3-Tribonacci的二进制数为基数的基数
背景 1-2-3-Tribonacci序列 想象一下,您可以通过将标准迭代公式替换为以下内容来制作斐波那契数列: 基本上,不是将最后两个求和以获得下一个,而是将最后三个求和。这是1-2-3-Tribonacci序列的基础。 布朗的准则 布朗的准则状态,您可以将任何整数值表示为序列成员的总和,条件是: 对于所有n大于1, 这对挑战意味着什么 您可以将任何正整数描述为由以下初始条件形成的1-2-3-Tribonacci序列的成员之和: 对于此序列中的每个值,这被称为项之间的比率永远不会大于2(该比率的平均值约为1.839)。 如何在此数字表示系统中编写 假设您使用小尾数表示法。像这样排列序列的成员: 1 2 3 6 11 20 37 68 然后,将您要表示的数字表示出来(对于我们的测试,假设是63),然后找到给定的1-2-3-Tribonacci的值总和为63 (首先使用最大值!)。如果数字是总和的一部分,则在其下放一个1,否则不放0。 1 2 3 6 11 20 37 68 0 0 0 1 0 1 1 0 您可以对任何给定的整数执行此操作-只需先确认您使用低于给定输入的最大值即可! 定义(最终) 编写程序或函数,以给定n介于1和您的语言最大值之间的正整数输入(以任何标准基数编写)来执行以下操作: 将值转换为定义的1-2-3-Tribonacci的数字表示形式。 使用这种类似于二进制的表示形式,并像对待二进制一样读取它。这意味着数字保持不变,但是它们的含义改变了。 将此二进制数字转换为原始数字的基数。 输出或返回此新号码。 但是,只要输出有效,就不需要执行以下步骤。如果您神奇地找到了一些更短的公式(在数学上是等效的),请随时使用。 例子 令函数f为定义所描述的函数,并[]表示所采取的步骤(为小端,尽管无关紧要)(您无需遵循此过程,这只是描述的过程): &gt;&gt;&gt; f(1) …

20
对前n个偶数斐波纳契数求和
似乎还没有比赛。 任务很简单。加上n斐波那契数列的第一个偶数,然后输出结果。 这是由OEIS A099919提供的,除了序列以fib(1) = 0代替移位了一个fib(1) = 1。 这是代码高尔夫。最低字节数获胜。 例子 n sum 1 0 2 2 3 10 4 44 5 188 6 798 7 3382 8 14328 9 60696 有关

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.