Questions tagged «number-theory»

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

13
斐波那契产品
您可以将大于0的数字分解为正Fibonacci数字的唯一和。在这个问题中,我们通过重复减去最大可能的正斐波那契数来做到这一点。例如: 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 

4
疯狂的图书馆员有趣的素置换索引号生成器
您用主序列码保存了这一天,而数学老师则喜欢它。如此之多,以至于对馆员(a / k / a,您的老板)提出了新的挑战。恭喜,您可以对解决方案进行编码,以便管理员可以再次打动数学老师。 从以10为底的N的自然数序列开始 0、1、2、3、4、5、6 ... 排除0和1,此序列中的每个数字均为素数,P 2、3、5、7、11、13 ... 或复合,C 4、6、8、9、10、12、14、15、16、18、20 ... 反映如何图书馆管理员思想插入的整数位数成从一个数的小数膨胀P,数学老师代替创建的函数G(X,Y) ,需要一个数x从Ñ与1 <= x <= 9和一个数y从Ç并插入x到y每个位置的小数点扩展,按从左到右的顺序,仅选择唯一的数字。 例如,G(3,14)是314, 134, 143。但是,G(1,14)是唯一的114, 141,因为不管你前面加上或插入1到14,相同的编号114被生成。 数学老师想知道,如果您按递增顺序进行运算,那么在获得P之前,必须进行多少次排列x。数学老师将此称为数字的复合素数索引,并将其写为CPI(y)。 例如,4只需执行两次:14, 41,因为41是质数,所以CPI(4)是2。但是,在作为素数达到之前,8需要完成6次,因此CPI(8)为。18, 81, 28, 82, 38, 83836 给定输入数字,您的任务是编写将输出此Composite-Prime索引的代码。 输入值 一个整数y,使得y在Ç,通过函数的参数,STDIN或等效输入。 为了进行计算,您可以假设y将适合通常的整数范围(例如,假设2 31 -1为上限)。 y不在C中的行为是不确定的。 输出量 将所得复合总理指数,如上所述计算,输出到STDOUT或等效,但有两个例外: 如果最后一个排列(即附加9到y)是导致质数的排列,则输出-1。下面扩展了一个示例y=14。 如果没有置换(即G(x,y)是所有C的子集1 <= x <= 9),则输出0。下面扩展了一个示例y=20。 例子 y -> …

3
自然线性Diophantine方程
两个变量中的线性Diophantine方程是ax + by = c形式的方程,其中a,b和c是常数,x和y是整数。 对于许多自然发生的丢番图方程,x和y表示不能为负的数量。 任务 编写一个接受系数a,b和c作为输入并返回任意对自然数(0、1、2,...)x和y的程序或函数,以验证方程ax + by = c(如果有)存在。 附加规则 您可以选择任何只涉及所需整数的语言,只要您不在输入中嵌入任何代码,就可以选择仅涉及所需整数的任何格式,以及(可选)语言的数组/列表/矩阵/元组/矢量表示法。 您可以假设系数a和b都非零。 您的代码必须适用于-2 60和2 60之间的任何三元整数;它必须在一分钟内在我的计算机(Intel i7-3770,16 GiB RAM)上完成。 您可能不使用任何可解决Diophantine方程从而使这项任务变得微不足道的内置函数,例如Mathematica FindInstance或FrobeniusSolve。 如果找不到解决方案,只要符合时间限制并且其输出不能与有效解决方案混淆,您的代码可能会按照您希望的方式运行。 适用标准代码高尔夫球规则。 例子 下面的示例说明方程2x + 3y = 11的有效I / O,正好具有两个有效解((x,y)=(4,1)和(x,y)=(1,3))。 Input: 2 3 11 Output: [4 1] Input: (11 (2,3)) Output: [3],(1) (x,y)=(1,0)对是2x + 3y = 2的唯一有效解决方案。 …

6
迭代除数扭曲
定义 设m和n为正整数。我们说m是一个除数扭曲的n,如果存在整数1 < a ≤ b,使得n = a*b和m = (a - 1)*(b + 1) + 1。如果m可以从获得n通过施加零个或多个除数的曲折,然后m是一个后代的n。请注意,每个数字都是其自己的后代。 例如,考虑n = 16。自以来,我们可以选择a = 2和。然后b = 82*8 = 16 (a - 1)*(b + 1) + 1 = 1*9 + 1 = 10 这表明10是的除数扭曲16。与a = 2和b = 5,然后我们看到7是的除数扭曲10。因此7是的后代16。 任务 给定一个正整数n,n以递增顺序计算的后代,不能重复。 规则 不允许使用内置运算来计算数字的除数。 完整的程序和函数都将被接受,并且只要它是经过排序且无重复的,就可以返回集合数据类型(如某种类型的集合)。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 1 …

8
中心二项式系数的数字总和
任务仅仅是看您可以计算n选择n / 2(甚至n)比python中的内置函数快多少。当然,对于大n来说,这是一个相当大的数字,因此您应该输出数字的总和,而不是输出整数。例如,n = 100000答案为135702。因为n=1000000是1354815。 这是python代码: from scipy.misc import comb def sum_digits(n): r = 0 while n: r, n = r + n % 10, n / 10 return r sum_digits(comb(n,n/2,exact=True)) 你的分数是(highest n on your machine using your code)/(highest n on your machine using my code)。您的代码必须在60秒或更短时间内终止。 您的程序必须为所有偶数n提供正确的输出:2 <= n <=(您的最高n) …

3
Brainfuck中的按位运算符
您的任务是为以下每个二进制运算符创建一个Brainfuck程序。每个程序应从输入中获取一个或两个8位数字(A和B)并计算指定的运算: A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 您不必全部实施5。得分的计算方式为: #totalCharacters + {4000 * #problemsNotCompleted} 因此,有效分数是从零(最佳)到20,000(未完成)。 我不在乎您将结果存储在哪里,也不管您是否保留输入。假设8位单元以及仅在右侧需要的空单元数。 您可能会认为数字已经在最适合您的任何内存位置中,因此您无需担心IO操作。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

5
以多种方式完善权力?
挑战 您的任务是编写一个给定正整数N的程序或函数,该程序或函数查找所有小于或等于N的正整数,这些正整数可以以多种方式表示为完美幂。 定义 完美的功率被定义为一个数我发现立方公尺ķ,其中: m和i是正整数 m!= k 测试用例 输入->输出 1000-> 16,64,81,256,512,625,729 56-> 16 999-> 16,64,81,256,512,625,729 81-> 16,64,81 1500-> 16,64,81,256,512,625,729,1024,1296 请提供一个可读的,注释的版本。

7
测试允许序列
内容提要:测试整数的输入序列是否为“允许的”,这意味着它不涵盖任何模数的所有残基类别。 什么是“允许”序列? 给定一个整数m≥2,模m的残基类别就是公共差m的m个可能的算术级数。例如,当m = 4时,模4的4个残基类别为 ..., -8, -4, 0, 4, 8, 12, ... ..., -7, -3, 1, 5, 9, 13, ... ..., -6, -2, 2, 6, 10, 14, ... ..., -5, -1, 3, 7, 11, 15, ... 第k个残基类由所有整数组成,所有整数除以m等于k。(只要为负整数正确定义“余数”) 如果整数a1,a2,...,ak的序列未能与至少一个残基类别相交,则该序列可取m模。例如,{0,1,2,3}和{-4,5,14,23} 不允许以 4 为模,但是{0,1,2,4}和{0,1,5,9}和{0,1,2,-3} 是模4的允许值。此外,{0,1,2,3,4}是模4的不允许值,而{0,1,2} 是模4的可接受值。 最后,如果每个整数m≥2都可以模m取整数,则整数序列只是可允许的。 挑战 编写一个程序或函数,该程序或函数将整数序列作为输入,如果该序列是允许的,则返回一个(一致的)Truthy值,如果该序列不可接受的,则返回一个(一致的)Falsy值。 整数的输入序列可以采用任何合理的格式。您可以假设输入序列至少包含两个整数。(虽然可能没有帮助,但是您也可以假设输入整数是不同的,尽管这可能无济于事。)您必须能够处理正整数和负整数(和0)。 通常的代码高尔夫评分:最短的答案(以字节为单位)获胜。 样品输入 …

18
查找罗科号码
采访中有人问我这个问题,但我找不到解决办法。我不知道这个问题是否对。我尝试了很多,但无法解决。老实说,我什么都没想到。 罗科数 如果正整数nnn可以表示为n=p(p+14)n=p(p+14)n=p(p+14)或n=p(p−14)n=p(p−14)n=p(p-14),其中ppp是质数,则为Rocco 数。 前10个Rocco号码是: 32,51,95,147,207,275,351,435,527,62732,51,95,147,207,275,351,435,527,62732, 51, 95, 147, 207, 275, 351, 435, 527, 627 任务 您的代码必须接受一个正整数作为输入,并确定它是否是Rocco数字。 印象分 编写一个函数,计算并打印小于或等于100万的Rocco数。 编写一个函数,该函数根据质数的奖金问题(上面的问题)计算并打印Rocco数的计数。

17
计算最小值
背景 请考虑以下顺序(OEIS中为A051935): 从术语开始。222 找出大于的最低整数,使为质数。2 2 + nñnn2222 + n2+n2+n 找到大于的最低整数,使为质数,以此类推。 Ñ 2 + Ñ + Ñ 'ñ′n′n'ñnn2 + n + n′2+n+n′2 + n + n' 一个更正式的定义: 一个ñ= { 2分钟{ X ∈ Ñ | X > 一n − 1 和 ( x + ∑n − 1我= 0一个一世) 是素数}if n=0otherwisean={2if n=0min{x∈N∣x>an−1 and …

5
稀疏量角器
给定一些正整数n,设计一个带有最少标记数的量角器,使您能够测量所有角度的整数倍2π/n(每个角度一次测量)。 细节 作为输出,可以在的范围内输出的整数列表0到n-1(或1到n)表示每一个标记的位置。或者,也可以输出长度的串/列表n与#在每个标记的位置和_(下划线)在有无。(或两种不同的字符,如果更方便的。) 实施例:对于n = 5您需要的3马克到能够测量所有角度2π/5, 4π/5, 6π/5, 8π/5, 2π通过设置(例如)在1马克0,在1马克2π/5和1马克6π/5。我们可以将其编码为列表[0,1,3]或字符串##_#_。 例子 注意,输出不一定是唯一的。 n: output: 1 [0] 2 [0,1] 3 [0,1] 4 [0,1,2] 5 [0,1,2] 6 [0,1,3] 7 [0,1,3] 8 [0,1,2,4] 9 [0,1,3,4] 10 [0,1,3,6] 11 [0,1,3,8] 20 [0,1,2,3,6,10] PS:这类似于稀疏标尺问题,但是我们考虑使用圆形(角形)刻度,而不是线性刻度(两端)。 PPS:此脚本应为每个脚本计算一组标记的一个示例n。在线尝试! PPPS:正如@ngn所指出的,此问题等效于找到阶的循环组的最小差分基n。最小订单在http://oeis.org/A283297中列出,一些理论界限在https://arxiv.org/pdf/1702.02631.pdf中找到

14
通过插入减少主要因素的数量
给定两个正整数甲和乙,返回的位置p的是最小化的所得到的整数的素因子(计数多重)的数量,当乙被插入在一个在p。 例如,给定A = 1234和B = 32,这些是可能的插入(p为0索引)以及有关其主要因子的相应信息: p | 结果 主要因素| Ω(N)/计数 0 | 321234 | [2,3,37,1447] | 4 1 | 132234 | [2,3,22039] | 3 2 | 123234 | [2,3,19,23,47] | 5 3 | 123324 | [2,2,3,43,239] | 5 4 | 123432 | [2,2,2,3,37,139] | 6 您可以看到,当p为1 时,结果具有最小数量的质因子3。因此,在这种情况下,应输出1。 眼镜 如果有多个位置p使结果最小化,则可以选择输出所有位置p或其中的任何一个。 …

23
将两个整数的平均值相加
数学中有很多手段,例如算术平均,几何平均等等。 定义和任务 请注意,以下是两个正整数 * 的定义: 的根均方是它们的平方的减半(总和的平方根)。 该算术平均值是它们的总和,减半()。 的几何平均值是他们的产品的平方根()。 的调和平均值是2可以通过倒数之和(分割= )。 给定两个整数a和b 使得a,b∈[1,+∞),对a和b的上述均值求和。您的答案必须至少精确到小数点后3位,但您不必担心舍入或浮点精度错误。 测试用例 a,b->输出 7,6-> 25.961481565148972 10、10-> 40 23,1-> 34.99131878607909 2,4-> 11.657371451581236 345,192-> 1051.7606599443843 使用此程序,您可以查看更多测试案例的正确结果。这是代码高尔夫球,因此遵循标准规则的最短有效提交将获胜。 *还有许多其他方法,但是出于挑战的目的,我们将使用“定义”部分中提到的方法。

13
有几种方法可以将数字写成平方和?
任务 给定两个整数d和n,找到表示n为d平方和的方式数。也就是说,,对于所有整数n == r_1 ^2 + r_2 ^2 + ... + r_d ^2,r_m都是一个整数1 ≤ m ≤ d。请注意,交换两个不同的值(例如r_1和r_2)被认为与原始解决方案不同。 例如,数字45可以写为2平方和的8种不同方式: 45 == (-6)^2 + (-3)^2 == (-6)^2 + 3^2 == (-3)^2 + (-6)^2 == (-3)^2 + 6^2 == 3^2 + (-6)^2 == 3^2 + 6^2 == 6^2 + (-3)^2 == 6^2 + …

8
密数序列
OEIS:A167171 阿密号是一个数字,具有完全一样多素因子作为无素因数(包括1和本身作为除数)。等效地,它是素数或两个不同素数的乘积。前100个密集数字为: 2, 3, 5, 6, 7, 10, 11, 13, 14, 15, 17, 19, 21, 22, 23, 26, 29, 31, 33, 34, 35, 37, 38, 39, 41, 43, 46, 47, 51, 53, 55, 57, 58, 59, 61, 62, 65, 67, 69, 71, 73, 74, 77, 79, 82, 83, 85, 86, …

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.