Questions tagged «number-theory»

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

15
模数平价方
你给出的阵列甲的Ñ严格为正整数,Ñ≥2 。 您的任务是将每个条目A i映射到: 1如果甲Ĵ MOD甲我是奇数每个Ĵ使得1≤Ĵ≤Ñ和Ĵ≠我 2,如果阿Ĵ MOD甲我是即使针对每个Ĵ使得1≤Ĵ≤Ñ和Ĵ≠我 否则为0(混合奇偶校验) 例 对于A = [73,50,61],我们有: 50模73 = 50,61模73 = 61 →混 73模50 = 23,MOD 61 50 = 11 →所有奇数 73模61 = 12,50 MOD 61 = 50 →所有偶数 因此,预期输出为[0,1,2]。 规则 您可以使用任何三个不同的值(任何类型),而不是0,1和2,因为他们是一致的,只要。如果您未使用挑战中所述的映射,请指定映射。 如果对此有任何疑问,则零为偶数。 这是代码高尔夫球,因此最短答案以字节为单位! 测试用例 [ 1, 2 ] --> [ 2, 1 ] …

19
从第一个“ n”数字取零
挑战 面临的挑战是编写一个代码,该代码以正整数“ n”作为输入,并显示所有可能的方式来写入从1到n的数字,并在两者之间使用正号或负号,以使它们的总和为等于零。请记住,您只能使用加法或减法。 例如,如果输入为3,则有两种方法使总和为0: 1+2-3=0 -1-2+3=0 请注意,数字是有序的,从1到n(在这种情况下为3)开始。从示例中可以明显看出,第一个数字的符号也可以为负,因此请小心。 现在,3非常简单。让我们在考虑数字7时列出所有方式。 1+2-3+4-5-6+7=0 1+2-3-4+5+6-7=0 1-2+3+4-5+6-7=0 1-2-3-4-5+6+7=0 -1+2+3+4+5-6-7=0 -1+2-3-4+5-6+7=0 -1-2+3+4-5-6+7=0 -1-2+3-4+5+6-7=0 因此,在这里,我们总共有8种可能的方式。 输入输出 如前所述,输入将为正整数。您的输出应包含所有可能的方法,使数字总和为零。万一没有办法做同样的事情,您可以输出任何您喜欢的东西。 另外,您可以按自己喜欢的任何格式打印输出。但是,这应该是可以理解的。例如,您可以按照上面的示例进行打印。或者,您可以只按顺序打印数字的符号。否则,您也可以按顺序打印“ 0”和“ 1”,其中“ 0”显示负号,“ 1”显示正号(反之亦然)。 例如,您可以使用以下方式表示1 + 2-3 = 0: 1+2-3=0 1+2-3 [1,2,-3] ++- 110 001 但是,为简单起见,我建议使用前三种格式中的任何一种。您可以假定所有输入均有效。 例子 7 -> 1+2-3+4-5-6+7=0 1+2-3-4+5+6-7=0 1-2+3+4-5+6-7=0 1-2-3-4-5+6+7=0 -1+2+3+4+5-6-7=0 -1+2-3-4+5-6+7=0 -1-2+3+4-5-6+7=0 -1-2+3-4+5+6-7=0 4 -> 1-2-3+4=0 …

7
振荡平等
我们的对象在两个整数点之间[l, r]以每时间单位一个单位的速度从lon 开始振荡t=0。您可以假设l < r。例如,如果一个对象在上振荡[3, 6],则我们有: t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 等等,但是物体不断振荡,所以我们还有t=0.5 -> 3.5和t=3.7 -> 5.3。 由于两个物体之间振荡[l1, r1],[l2, r2],确定是否存在过一段时间t,使得这两个对象共享相同的位置。您可以采用l1, r1, l2, r2任何方便的格式,并输出任何真实/错误值。 真实的输入: [[3, 6], [3, 6]] [[3, 6], [4, 8]] …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

19
罕见因子数
基于聊天消息 挑战 给定输入数字n > 9,构造其反向数,而忽略前导零。然后,构建一个所有数量均不相同的主要因素的列表。将这些因子相乘以创建输入的非常见因子编号。 或者换一种说法:如果rev(n)表示整数的十进制反转n,请计算的乘积n并rev(n)除以gcd(n, rev(n))。 输出该号码。 工作的例子 例如,2244反转为4422。第一个[2, 2, 3, 11, 17]的素数因子为,反之的素数因子为[2, 3, 11, 67]。不常见的乘数是[2, 17, 67],2278输出也是。 再举一个例子,1234反转为4321。乘积为5332114,GCD为1,因此输出为5332114。 进一步说明 显然,回文数的所有因素与其相反的因素都相同,因此在这种情况下,输出为1(n*n/n^2)。显然,输出也可能是所有因素的乘积(例如,gcd为1 -输入及其反向为互质),如1234示例所示。 规则 可以假定输入和输出适合您语言的本机整数类型。 输入和输出可以任何方便的格式给出。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常见的高​​尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 in out 17 1207 208 41704 315 1995 23876 101222302

16
从不奇数或偶数
您是否注意到这是回文? 输入 非负整数或表示它的字符串 输出 4个可能的输出,代表数字的两个属性: 回文是否 棘手的#2 棘手的2号属性 如果数字不是回文,则此属性回答以下问题:“第一位和最后一位是否具有相同的奇偶性?” 如果数字是回文,则此属性回答问题“第一和中间数字是否具有相同的奇偶性?”。对于偶数长度,中间数字是中心两位数字之一。 例子 12345678-> False False 这不是回文,第一位和最后一位具有不同的奇偶校验 12345679->假 是不是回文,第一位和最后一位具有相同的奇偶性 12344321-> 是错是回文,第一个数字1和中间的数字4具有不同的奇偶校验 123454321-> True True 这是回文,第一个数字1和中间的数字5具有相同的奇偶校验 PS: 您可以决定输出类型和格式。它可以是任意4个不同的值。只需在您的答案中提及即可。

3
找到最短的哥伦布尺子
哥伦布尺子是非负整数的集合,因此集合中没有两对整数间隔相同。 例如,[0, 1, 4, 6]是Golomb标尺,因为此集合中两个整数之间的所有距离都是唯一的: 0, 1 -> distance 1 0, 4 -> distance 4 0, 6 -> distance 6 1, 4 -> distance 3 1, 6 -> distance 5 4, 6 -> distance 2 为了简化此挑战(并且翻译很简单),我们强加了Golomb标尺始终包含数字0(前面的示例中这样做)。 由于该集合的长度4,因此我们说这是一个有序 的Golomb标尺4。此集合(或元素,因为0总是在集合中)中的最大距离是6,因此我们说这是长度的哥伦布尺 6。 你的任务 找到哥伦布统治者为了 50给100有小(含)的长度,你可以找到。您发现的标尺不一定是最佳的(请参见下文)。 最优性 N如果没有其他N长度较小的Golomb直尺,则称Golomb直尺是最优的。 最佳Golomb直尺的订单少于28个,但随着订单的增加,找到和证明最优性变得越来越困难。 因此,不能期望您找到介于50和之间的任何订单的最佳Golomb标尺100(甚至更不可能期望您可以证明它们是最佳的)。 程序的执行没有时间限制。 基准线 下面的列表是使用天真的搜索策略评估的Golomb尺规从50到100(按顺序)的长度列表(感谢@PeterTaylor获得此列表): [4850 …

9
琐碎的序列的扭曲
介绍 考虑定义如下的整数f的序列: f(2)= 2 如果n是奇数素数,则f(n)=(f(n-1)+ f(n + 1))/ 2 如果n = p·q是合成的,则f(n)= f(p)·f(q) 不难发现每n≥2 f(n)= n,因此计算f并不是一个非常有趣的挑战。让我们改变一下定义:将第一种情况减半,第二种情况加倍。我们得到一个新的序列g,定义如下: g(2)= 1 如果n是奇质数,则g(n)= g(n-1)+ g(n + 1) 如果n = p·q是合成的,则g(n)= g(p)·g(q) 任务 您的任务是将整数n≥2作为输入,并产生g(n)作为输出。您不必担心整数溢出,但是您应该能够正确计算g(1025)= 81,并且您的算法在理论上应该适用于任意大的输入。 您可以编写完整的程序或函数。最低字节数获胜。 例 我声称g(1025)= 81以上,因此我们手动进行计算。1025的素数分解给出 1025 = 5*5*41 => g(1025) = g(5)*g(5)*g(41) 由于41是素数,我们得到 g(41) = g(40) + g(42) 接下来,我们计算40和42的素因式分解: 40 = …


4
除数图中的最短路径
介绍 在这个挑战中,我们将处理某个无限的无向图,我将其称为高除数图。其节点是从2开始有两个节点之间的边缘的整数A <B ,如果一个分割b和一个2 ≥b 。由2到18范围组成的子图如下所示: 16-8 12 18 \|/ |/| 4 6 9 10 15 14 | |/ |/ | 2 3 5 7 11 13 17 可以证明无限高的除数图是连通的,因此我们可以询问两个节点之间的最短路径。 输入输出 您的输入是两个整数a和b。您可以假定2≤a≤b <1000。您的输出是无限高除数图中a和b之间的最短路径的长度。这意味着路径中的边数。 您可能会发现以下事实很有用:始终存在从a到b的最佳路径,该路径先增大然后减小,并且仅访问严格小于2b 2的节点。特别地,由于b <1000,您只需要考虑小于2000000的节点。 例子 考虑输入3和32。节点3和32之间的一条可能路径是 3 -- 6 -- 12 -- 96 -- 32 该路径有四个边,结果没有较短的路径,因此正确的输出是4。 作为另一示例,用于最佳路径2和25是 2 -- …

12
由五角形数构成的五角形数
介绍 甲五角数(A000326)由公式生成P Ñ = 0.5×(3N 2 -n) 。或者,您可以只计算使用的点数: 您可以使用公式或上面的gif查找前几个五边形数字: 1, 5, 12, 22, 35, 51, 70, 92, 117, 145, 176, 210, 247, 287, 330, 376, 425, 477, etc... 接下来,我们需要计算x个连续数字的总和。 例如,如果x = 4,我们需要查看P n + P n + 1 + P n + 2 + P n + 3(由4个项组成)。如果五角形的总和也是五角形,我们将其称为五角形五角形。 对于x = …

11
求和
我很喜欢阅读本网站;这是我的第一个问题。欢迎进行编辑。 给定正整数n和m,将m的所有有序分区精确地计算为n个正整数部分,并用逗号和换行符分隔它们。任何顺序都可以,但是每个分区必须恰好出现一次。 例如,给定m = 6和n = 2,可能的分区是对正整数的和,总和为6: 1,5 2,4 3,3 4,2 5,1 请注意,[1,5]和[5,1]是不同的有序分区。输出应与上述格式完全相同,并带有可选的尾随换行符。(编辑:分区的确切顺序无关紧要)。输入/输出通过标准代码高尔夫球I / O进行。 m = 7,n = 3的另一个示例输出: 1,1,5 1,2,4 2,1,4 1,3,3 2,2,3 3,1,3 1,4,2 2,3,2 3,2,2 4,1,2 1,5,1 2,4,1 3,3,1 4,2,1 5,1,1 1周后以字节为单位的最小代码获胜。 同样,请根据需要进行编辑。 附录: @TimmyD询问程序必须支持的整数输入大小。除示例外,没有其他最低要求。实际上,输出大小呈指数增长,粗略地建模为:lines = e ^(0.6282 n-1.8273)。 n | m | lines of output …

16
简单任务解决三次
您应该用一种语言编写3个程序和/或功能。 所有这些程序都应解决相同的任务,但它们都应提供不同(但有效)的输出。(即,对于每对程序,它们都应该是一些输入,这些输入会生成不同(但有效)的输出编号集。) 任务 您得到一个n大于1 的整数 您应该返回或输出n 不同的正整数,并且它们都不能被整除n。 数字的顺序无关紧要,数字的排列也不视为不同的输出。 有效的三元组程序,其中包含一些input => output配对: program A: 2 => 5 9 4 => 5 6 9 10 5 => 2 4 8 7 1 program B: 2 => 1 11 4 => 6 9 1 2 5 => 4 44 444 4444 44444 program …

12
生成SUDSI序列
所述SUDSI序列(ス米,d。差分,s ^ WAP,我 ncrement)是一个奇怪的整数序列,似乎表现出相当混乱行为。可以如下生成: 令S为自然数的无限列表:1 2 3 4 5 6 ...。让小号我表示一个索引的我的第i个元素小号。因此,最初, S 1为1,S 2为2,依此类推(没有S 0)。 从S 1和S 2开始 ... 计算它们的总和: sum = S1 + S2 计算它们的绝对差(较大的值减去较小的值): diff = |S1 - S2| 交换S中两个值的总和和差值:swap(Ssum, Sdiff) 递增您正在使用的S的索引。因此,下一次您将计算S 2和S 3的和与差,之后的时间将是S 3和S 4,依此类推。 无限重复此过程。 这是应用此过程时S的前几个阶段。方括号[]包围将要求和和求差的两个值。 原始S: [1 2] 3 4 5 6 7 8 9 …

9
编写程序以验证Erdős–Straus猜想
编写程序,以验证Erdős-Straus猜想。 程序应该采取作为输入一个整数n(3 <= n <= 1 000 000),并打印三重身份满足整数4/n = 1/x + 1/y + 1/z,0 < x < y < z。 最短的代码获胜。 一些例子: 3 => {1, 4, 12} 4 => {2, 3, 6} 5 => {2, 4, 20} 1009 => {253, 85096, 1974822872} 999983 => {249996, 249991750069, 62495875102311369754692} 1000000 => {500000, …

2
不耐烦的可除性测试
您的任务是编写一个程序或函数,以确定一个数字是否可以被另一个数整除。要注意的是,即使没有给出数字的全部数字,也应尽快给出答案。 你的程序应该采取的整数d ≥2,然后是一连串的数字作为输入。这些代表的另一数字整数Ñ ≥1,开始于至少显著数字。在第一点ñ要么必须或不能被divisble d,你的程序应该输出适当的答案并退出。如果到达输入的末尾,则应输出完整的N是否可被D整除。 这是N可接受的输入格式的列表 (如果您认为应该允许不包含的内容,请留下评论): 标准输入:数字在单独的行上给出; 输入的结尾为EOF或特殊值; exit表示函数返回或程序退出。 模拟输入:例如通过击键或代表每个数字的十个按钮; 输入的结尾是一个特殊值; exit表示函数返回或程序退出。 具有全局状态的功能:用连续的数字重复调用; 输入的结尾是一个特殊值; exit表示该函数返回一个非null值。请注意,如果您使用全局状态,则必须在返回值或以其他方式重置后清除它,以使该函数可以多次运行。 Curried函数:返回另一个要用下一位数字或值调用的函数; 输入的结尾是一个特殊值或不带参数的函数; exit表示该函数返回答案,而不是另一个函数。 GUI提示或类似内容:重复显示; 输入的结尾是“取消”或等效值,或特殊值; 退出意味着提示停止出现。 迭代器函数:输入是有状态对象或函数,在调用时返回下一个数字 ,输入结尾是异常或特殊值; 退出意味着迭代器停止被调用。 D的输入和输出可以通过任何可接受的标准方法进行。 测试用例: 2; 6 => true 5; 6 => false 20; 0 3 => false 20; 0 4 => true 100; 1 => false 100; …

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.