Questions tagged «number-theory»

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

20
计算Carmichael函数
任务描述 在数论中,Carmichael的函数 λ取正整数 Ñ并返回最小正整数ķ使得ķ的每个整数次幂互质到Ñ等于1个模Ñ。 给定正整数n,您的解决方案必须计算λ(n)。以字节为单位的最短代码获胜。 从理论上讲,您的程序应该可以为任意大的输入工作,但是并不需要高效。 提示 所有λ(n)的序列为OEIS A002322。 非高尔夫的Python实现看起来像 from fractions import gcd def carmichael(n): coprimes = [x for x in range(1, n) if gcd(x, n) == 1] k = 1 while not all(pow(x, k, n) == 1 for x in coprimes): k += 1 return k (在Python中,pow(A, B, …

30
加泰罗尼亚语数字
该Catalan数(OEIS)是自然数常常出现在组合的序列。 第n个加泰罗尼亚语数字是Dyck单词的数目(括号中的平衡字符串或方括号,例如[[][]];正式定义为使用两个字符a和b的字符串,这样从开头开始的任何子字符串的字符数都大于或等于number b个字符,整个字符串具有相同的a和b个字符),长度为2n。第n个加泰罗尼亚数字(对于n> = 0)也明确定义为: 从n = 0开始,前20个加泰罗尼亚数字为: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190... 挑战 编写一个完整的程序或函数,该程序或函数通过STDIN或可接受的替代方法获取非负整数n,并输出第n个加泰罗尼亚数字。您的程序必须至少对输入0-19有效。 输入输出 输入值 您的程序必须根据此meta post接收来自STDIN,函数参数或任何可接受的替代方法的输入。您可以将输入的数字读取为标准的十进制表示形式,一进制表示形式或字节。 如果(且仅当)您的语言无法从STDIN或任何可接受的替代方法中输入内容,则它可能从程序中的硬编码变量或适当的等效语言中获取输入。 输出量 您的程序必须根据此meta post将第n个加泰罗尼亚编号输出到STDOUT,函数结果或任何可接受的替代方法。您可以以标准的十进制表示形式,一元表示形式或字节形式输出加泰罗尼亚数字。 输出应包含适当的加泰罗尼亚语数字,并可以选择后面跟着一个或多个换行符。除了无法避免的语言解释器的恒定输出(例如问候语,ANSI颜色代码或缩进​​)以外,无法生成其他任何输出。 这并不是要找到最短的语言。这是关于寻找每种语言中最短的程序。因此,我不会接受答案。 在此挑战中,只要具有实现方式,就可以接受比挑战新的语言。允许(甚至鼓励)自己为以前未实现的语言编写此解释器。除此之外,必须遵守所有代码高尔夫球的标准规则。大多数语言的提交都将以适当的预先存在的编码(通常为UTF-8)以字节计分。另请注意,允许使用内置函数来计算第n个加泰罗尼亚语数字。 目录 这篇文章底部的Stack Snippet会根据答案a)生成目录,a)作为每种语言最短解决方案的列表,b)作为整体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes …

20
总结一下
一个简单但希望不是很琐碎的挑战: 编写一个程序或函数k求和数的乘积n。进一步来说: 输入:两个正整数n和k(或有序整数对等) 输出:所有的正除数的总和n是k整数次方 例如11!= 39916800有六个因数为立方的除数,即1、8、27、64、216和1728。因此,给定输入39916800和3,程序应返回它们的总和2044。 其他测试用例: {40320, 1} -> 159120 {40320, 2} -> 850 {40320, 3} -> 73 {40320, 4} -> 17 {40320, 5} -> 33 {40320, 6} -> 65 {40320, 7} -> 129 {40320, 8} -> 1 {46656, 1} -> 138811 {46656, 2} -> 69700 {46656, 3} -> …

30
是Mersenne Prime吗?
如果数字既是素数又可以以2 n -1的形式书写,则该数字就是梅森素数,其中n是正整数。 给定任何正整数,您的任务是确定它是否为梅森素数。您可以提交返回真实/错误值的函数,也可以提交执行IO的完整程序。 规则: 因为这是code-golf,所以您应该以尽可能短的字节数为目标。允许内置。 应用标准的高尔夫球漏洞-您无法从外部文件读取Mersenne素数,也无法将其硬编码到程序中。 您的程序应能在您语言的标准整数大小范围内使用值。 测试用例 作为参考,可以在此处找到(已知)梅森素数的列表。一些方便的测试用例是: 2 -> False 1 -> False 20 -> False 51 -> False 63 -> False 3 -> True 31 -> True 8191 -> True 祝大家圣诞快乐!祝您假期愉快,无论您庆祝什么:)

9
蛇化字符串
修饰后的字符串如下所示: T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt 你的任务 取一个字符串s和一个size n,然后输出连串的字符串。输入ThisIsAnExampleOfaSnakifiedString和3将产生上面的示例。 技术指标 s 只会在代码点33和126之间(含端点)包含ASCII字符(不包含空格或换行符)。 s 长度在1到100个字符之间。 n是一个整数,代表每个输出字符串段的大小。组成“蛇”中曲线的每一行字符(上/下或左/右)都是n字符长。有关示例,请参见测试用例。 n 介于3到10之间(含3和10)。 输出字符串始终开始指向下方。 每行上都可以使用尾随空格。 在输出末尾也可以尾随换行符。 不允许前导空格。 code-golf表示以字节为单位的最短代码获胜。 测试用例 a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

30
模和的总和
给定一个整数n > 9,对于该整数中数字之间的每个可能插入,插入一个加法+并求值。然后,取那些结果取模的原始数。输出这些操作的总和。 的示例n = 47852: 47852 % (4785+2) = 4769 47852 % (478+52) = 152 47852 % (47+852) = 205 47852 % (4+7852) = 716 ----- 5842 输入项 任何方便格式的一个正整数,n > 9。 输出量 遵循上述构造技术的单个整数输出。 规则 您不必担心输入的内容会超出语言的默认类型。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 47852 -> 5842 13 -> 1 111 -> 6 12345 …

21
算术导数
函数的导数是数学,工程学,物理学,生物学,化学以及许多其他科学的基石。今天,我们将要计算仅与切线相关的东西:算术导数。 定义 此处,算术导数a(n)或n'(A003415)由与函数的导数相似的多个属性定义。 a(0) = a(1) = 0, a(p) = 1,哪里p有素数? a(mn) = m*a(n) + n*a(m)。 第三条规则是基于功能分化的产品规则:对于函数f(x)和g(x),(fg)' = f'g + fg'。因此,用数字(ab)' = a'b + ab'。 还要注意,由于算术导数可以通过此简单关系扩展为负数a(-n) = -a(n),因此输入可能为负。 规则 编写一个程序或函数,给定任何整数n,该程序或函数将返回的算术导数n。 输入为,以避免整数大小和数字过大而无法考虑合理时间的问题。理论上,您的算法仍应能够计算该范围以外数字的算术导数。-230 < n < 230 允许内置符号数学,素因数分解和微分。 例子 > a(1) 0 > a(7) 1 > a(14) # a(7)*2 + a(2)*7 = …

30
这个数字是邪恶的吗?
介绍 在数论中,如果二进制表示形式中的偶数个数为1,则该数字被认为是邪恶的。在今天的挑战中,您将确定给定的数字是否为邪恶。 挑战 您的工作是编写一个完整的程序或函数,以接受单个非负整数作为输入并输出(或返回)该数字是否为邪恶。 如果数字是邪恶的,则可以输出任何真值,而如果数字不是邪恶的,则可以输出任何虚假的值。 您可以以任何可接受的格式输入和输出。 不允许出现标准漏洞。 OEIS序列A001969是包含所有邪恶数字的序列。 这是前10000个邪恶数字的列表,以供参考(还有更多测试用例!) 这个问题是代码高尔夫,所以越短越好。 不要被打高尔夫球的简短答案所困扰。我鼓励您以喜欢的任何语言提交。 以下是一些测试案例: 3 => True 11 => False 777 => True 43 => True 55 => False 666 => False 排行榜 页面底部是一个堆栈片段,其中包含此问题的页首横幅。(谢谢@MartinEnder) 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果您想在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # Perl, 43 + …

6
您可以通过加倍并重新排列来达到此数字吗?
受到Math.SE上这个问题的启发。 首先,1您可以重复执行以下两个操作之一: 将数字加倍。 要么 以任何您想要的方式重新排列其数字,但不得有任何前导零。 以链接的Math.SE帖子为例,我们可以1000通过以下步骤进行操作: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 125, 250, 500, 1000 您可以通过此过程获得哪些数字,最短的解决方案是什么? 挑战 给定正整数,如果可能的话N,确定N上述过程可以达到的最短整数序列。如果有几个最佳解决方案,请输出其中任何一个。如果不存在这样的序列,则应输出一个空列表。 该序列可以采用任何方便,明确的字符串或列表格式。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。 测试用例 这是所有可达的数字列表,最大为256,包括256。第一列是数字(您的输入),第二列是最佳步骤数(可用于检查解决方案的有效性),第三列是专栏是到达那里的一种最佳顺序: 1 1 {1} 2 2 {1,2} 4 3 {1,2,4} 8 4 {1,2,4,8} 16 5 {1,2,4,8,16} 23 7 {1,2,4,8,16,32,23} 29 10 {1,2,4,8,16,32,23,46,92,29} 32 …

8
可以从素数生成方树年轮吗?
显然是的!三个简单的步骤。 步骤1 令f(n)表示素数计数函数(素数小于或等于n)。 如下定义整数序列 s(n)。对于每个正整数n, 将t初始化为n。 只要t既不是素数也不是1,则将t替换为f(t)并进行迭代。 迭代次数为s(n)。 该迭代过程是保证最终因为˚F(Ñ)< ñ所有Ñ。 考虑例如n= 25。我们初始化t =25。由于这不是素数也不是1,我们计算f(25)为9。这成为t的新值。这既不是素数也不是1,所以我们继续:f(9)是4。我们再次继续:f(4)是2。因为这是素数,所以我们在这里停止。我们完成了3次迭代(从25到9,然后到4,再到2)。因此s(25)为3。 序列的前40个词如下。该序列不在OEIS中。 0 0 0 1 0 1 0 2 2 2 0 1 0 2 2 2 0 1 0 3 3 3 0 3 3 3 3 3 0 3 0 1 1 1 1 1 …

19
找到第n个素数,使得素数-1被n整除
问题 目的是按照标题所说的那样找到第n个素数,使得素数-1被n整除。 说明 这是一个示例,因此您可以理解问题,这不一定是应该解决的方法。它仅是解释问题的一种方式 给定3作为输入,我们将首先查看所有素数 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 ... 然后我们选择素数,使得素数-1可被n整除(在这种情况下为3) 7 13 19 31 37 43 61 67 73 79 97 103 107 109 127 ... 然后,我们按此顺序选择第n个项 我们将输入19输入3 注意 我们还可以将其视为序列{1,n + 1,2n + 1,3n +1 ... …

24
这是Loeschian号码吗?
正整数k是Loeschian数,如果 k可以表示i*i + j*j + i*j为i,j整数。 例如,第一正Loeschian号码为:1(i=1,j=0); 3(i=j=1); 4(i=2,j=0); 7(i=2,j=1); 9(i=-3,j=3); ...注意i,j对于给定k的不是唯一的。例如,9也可以与产生的i=3,j=0。 这些数字的其他等效特征是: k可以表示i*i + j*j + i*j为i,j非负整数。(对于每对整数i,j都有一对给出相同值的非负整数k) 有一组k连续的六边形在六边形网格上形成网格化(请参见k = 4和的插图k = 7)。(由于这个属性,这些数字可在移动蜂窝通信网络中找到应用。) 在序列的OEIS页面中查看更多特征。 挑战 给定一个正整数,如果它是Loeschian数,则输出真实结果,否则,则输出虚假结果。 程序或函数应处理(例如不到一分钟)最多达1000或数据类型限制的输入。 代码高尔夫。最短的胜利。 测试用例 以下数字应输出真实结果: 1, 4, 7, 12, 13, 108, 109, 192, 516, 999 以下数字应输出虚假结果: 2, 5, 10, 42, 101, 102, 128, 150, 501, …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

29
它是前缀代码吗?
在信息论中,“前缀代码”是一个字典,其中所有键都不是另一个的前缀。换句话说,这意味着没有一个字符串以其他任何字符串开头。 例如,{"9", "55"}是前缀代码,但{"5", "9", "55"}不是。 这样做的最大优点是,可以将编码的文本记下来,并且它们之间没有分隔符,并且仍然可以唯一地解密。这在诸如Huffman编码之类的压缩算法中得到了体现,该算法始终会生成最佳的前缀代码。 您的任务很简单:给定一个字符串列表,确定它是否是有效的前缀代码。 您的输入: 将是任何合理格式的字符串列表。 仅包含可打印的ASCII字符串。 将不包含任何空字符串。 您的输出将是一个true / falsey值:如果是有效的前缀代码,则为True,否则为falsey。 这是一些真实的测试用例: ["Hello", "World"] ["Code", "Golf", "Is", "Cool"] ["1", "2", "3", "4", "5"] ["This", "test", "case", "is", "true"] ["111", "010", "000", "1101", "1010", "1000", "0111", "0010", "1011", "0110", "11001", "00110", "10011", "11000", "00111", "10010"] 以下是一些错误的测试案例: ["4", "42"] …

6
1、2、3、14…还是15?
爱尔兰摇滚乐队U2的一首著名歌曲开始,歌手Bono用西班牙语说“ 1、2、3、14 ” (“ uno,dos,tres,catorce ”)。 关于这些数字的含义,有各种 理论。显然官方的解释是“ 那天晚上我们喝太多了 ”。但是有一个更有趣的假设:Bono指的是OEIS中的一些整数序列,例如 A107083: k这样的整数10^k + 31就是素数。 1,2,3,14,18,44,54,... 在一次采访中,当被问到不可避免的问题“为什么14”时,博诺承认他对这个数字有些厌倦。记者改用“ 15”,在那天晚上的音乐会上,歌词的确改为了“ 1、2、3、15”。(故事可以在这里用西班牙语阅读)。记者很有可能从 A221860: 指数k这样prime(k) - k的幂2,其中prime(k)是k个素数。 1,2,3,15,39,2119,4189897,... 挑战 用相同的语言编写两个程序。第一个应该输入n并输出A107083的n-th项,即第一项。同样,第二个应输出A221860的-th项,即第一个项。nnn 的得分是总和的长度的两个节目的,以字节为单位,加上正方形的的Levenshtein距离的两个节目的字节表示之间。 如果使用字符编码,每个字符对应一个字节,则可以使用此脚本测量Levenshtein距离。 例如,如果两个程序均为abcdefgh和bcdEEfg,则得分为8 + 7 + 4^2 = 31。 最低分获胜。 附加规则 对于每个序列,输出可以1基于-或- 0基于(因此,如果其中一个程序1基于-,而另一个程序基于-,则允许输出0)。 每个程序可以一致但彼此独立地输出n-th项或first n项。 程序或功能被允许,独立于每个序列。 输入和输出方式和格式照常灵活。禁止出现标准漏洞。

6
评分Tarzan的奥林匹克葡萄摇摆常规
奥运会的葡萄树摆动者在标准的树上执行常规活动。特别是,“标准树” n具有0向上穿过的顶点n-1以及将每个非零顶点连接a到其n % a下面的顶点的边。因此,例如,标准树5如下所示: 3 | 2 4 \ / 1 | 0 因为5除以3时的余数为2,所以5除以2或4时的余数为1,而5除以1时的余数为0。 今年,泰山将捍卫他的金新套路,每个始于顶点n - 1,秋千到顶点n - 2,继续顶点n - 3,等等,直到最后他卸除到顶点0。 例行程序的分数是每个挥杆(包括拆卸)的分数之和,挥杆的分数是树内起点和终点之间的距离。因此,Tarzan在标准树5上的例程得分为6: 从摇摆4到3得分3分(向下,向上,向上), 从摇摆3到2得分(下降)一分, 从摆动2到1得分1分(向下),并且 从下来1,0得分为1分(下降)。 编写一个程序或函数,给定一个正整数n,该程序或函数将计算Tarzan例程在Standard Tree上的得分n。样本输入和输出: 1 -> 0 2 -> 1 3 -> 2 4 -> 6 5 -> 6 6 -> 12 7 -> 12 8 …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

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.