Questions tagged «math»

挑战涉及数学。还可以考虑使用更具体的标签:[数字] [数字理论] [算术] [组合] [图形理论] [几何] [抽象代数]。

9
“排序”算法
有一种“排序算法”,有时也称为Stalin排序,在该算法中,为了对列表进行排序,您只需从列表中删除元素,直到其按升序进行排序即可。例如清单 [1, 2, 4, 5, 3, 6, 6] 当使用斯大林排序进行“排序”时 [1, 2, 4, 5, 6, 6] 这三个被删除,因为它故障。 现在显然有许多方法可以删除元素以对列表进行排序。例如,任何少于两个元素的列表都必须进行排序,因此只要盲目地删除足够的元素,我们就可以对列表进行排序。既然是这种情况,我们只在乎斯大林排序可能的最长结果。 您的任务将是获取一个正整数列表,并输出可以通过从原始列表中删除元素而得出的最长排序(递增)列表的长度。那就是找到最长排序的(可能是非连续的)子列表的长度。 排序的列表可以连续多次具有相同的元素。除非程序本身为空,否则不需要支持空列表。 计分 您的答案将根据其可能的最长斯大林排序长度进行评分。程序将被解释为字节序列而不是字符序列,并且它们的顺序将是通过将字节解释为数字而产生的自然顺序。分数越低越好。 这不是代码高尔夫 这是一个简洁的工具,可帮助您对答案进行评分。 测试用例 [1, 2, 4, 5, 3, 6, 6] -> 6 [19, 2] -> 1 [3, 3, 4, 3] -> 3 [10] -> 1 [1, 2, 4, 9] …

30
尽可能公平
介绍 在这个挑战中,您应该将整数分成两部分。由于没有人喜欢小菜一碟,因此您的目标是尽可能做到公平。例如,如果您想将整数7129分成两部分,则有3种可能的方法。 7,129,71,29并且712,9都是可能的,但这71,29是将其分为两部分的最公平的方法,因为它最大程度地减少了两者之间的差异: 7 129 -> |7-129| = 122 71 29 -> |71-29| = 42 712 9 -> |712-9| = 703 挑战 给定一个整数,如上所述,确定对其进行分区的最佳可能方式并报告产生的差异。 规则 拆分仅对长度至少为2的整数有意义,输入将​​始终≥10 输入可以是整数,数字列表或字符串 您不必处理无效的输入 测试用例 您只需要报告所产生的差异,分区仅在此处进行说明: 10 -> 1,0 -> 1 11 -> 1,1 -> 0 12 -> 1,2 -> 1 13 -> 1,3 -> 2 101 …

30
这个数字是数字吗?
挑战 甲纯位数是一个非负整数,其位数都相等。 创建一个函数或完整程序,该函数或完整程序将单个整数作为输入,并且如果输入的数字是以10为底的repdigit,则输出真实值,否则输出false。 输入保证为正整数。 您可以不受限制地接受并使用输入作为10进制的字符串表示形式。 测试用例 这些都是1000以下的位数。 1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777 888 999 可以在OEIS上找到更大的列表。 获奖 以字节为单位的最短代码获胜。这并不是说不欢迎用冗长的语言回答。

24
阶乘和永无止境的循环!
如您所知,正整数的阶乘n是等于或小于的所有正整数的乘积n。 例如 : 6! = 6*5*4*3*2*1 = 720 0! = 1 现在,我们将定义一个不相关名称的特殊操作,例如sumFac: 给定正整数n,sumFac(n)是数字的阶乘之和。 例如 : sumFac(132) = 1! + 3! + 2! = 9 任务 您的任务(无论是否选择接受)都是将应用的序列(可能是无限的)返回sumFac给输入中给定的整数。 范例: 132 -> 132, 9, 362880, 81369, 403927, ... 但这还不是全部!确实,的应用sumFac最终将创造一个循环。您还必须返回此循环! 如果您的语言具有内置阶乘,则可以使用它。我对返回类型并不挑剔,您只需要以人类可以理解的格式返回sumFac应用程序的序列和循环。 编辑:为了帮助您更好地可视化输出,我复制下面的Leaky Nun的内容应该是什么: [132, 9, 362880, 81369, 403927, 367953, 368772, 51128, 40444, 97, 367920, …

30
让我们减少单调
...但是嘿,不必太严格。 给定严格正整数的非空数组,请确定其是否为: 单调严格减少。这意味着每个条目都严格小于上一个条目。 单调不增加,但不严格减少。这意味着每个条目都小于或等于前一个条目,并且该数组不属于上述类别。 以上都不是。 请注意以下特殊情况: 具有单个数字的数组是单调严格递减的(很明显如此)。 重复相同编号的数组是单调非递增的,但不是严格递减的。 规则 您可以提供程序或功能 输入可以采用任何合理的格式:数组,列表,数字用空格分隔的字符串,... 您可以分别为三个类别选择任何三个一致的输出。例如,输出可以是数字0,1,2; 或字符串1 1,1 0空字符串。 以字节为单位的最短代码获胜 测试用例 单调严格递减: 7 5 4 3 1 42 41 5 单调不增加,但不严格减少: 27 19 19 10 3 6 4 2 2 2 9 9 9 9 以上都不是: 1 2 3 2 10 9 8 7 …

18
查找pi的第n个小数
已经有30个专门针对pi的挑战,但是没有一个挑战要求您找到第n个小数,因此... 挑战 对于0 <= n <= 10000显示范围内的任何整数,pi的第n个小数。 规则 小数点后的每个数字 3. 您的程序可能是功能,也可能是完整程序 您必须以10为底输出结果 您可以n从任何合适的输入方法(stdin,input(),函数参数等)获得,但不进行硬编码 如果您选择的语言是本机语言,则可以使用基于1的索引 你不必处理无效的输入(n == -1,n == 'a'或n == 1.5) 允许内置,如果它们支持至少 10k小数 运行时无关紧要,因为这是最短的代码,而不是最快的代码 这是代码高尔夫球,以字节为单位的最短代码获胜 测试用例 f(0) == 1 f(1) == 4 // for 1-indexed languages f(1) == 1 f(2) == 1 // for 1-indexed languages f(2) == 4 f(3) …
33 code-golf  math  pi 

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"] …

22
XOR乘法
您的目标是以尽可能少的字节实现下面定义的XOR(无载)乘法运算。 如果我们^将按位XOR()视为二进制加法而不携带 101 5 ^ 1001 9 ---- 1100 12 5^9=12 我们可以@通过执行二进制长乘法来执行XOR乘法,但是执行加法步骤而不进行按位XOR ^。 1110 14 @ 1101 13 ----- 1110 0 1110 ^ 1110 ------ 1000110 70 14@13=70 (对于数学家,这是多项式环中的乘法,通过将Z F_2[x]评估x=2为多项式来标识具有自然数的多项式。) XOR乘法通过按位XOR 交换a@b=b@a,关联(a@b)@c=a@(b@c)和分布a@(b^c)=(a@b)^(a@c)。实际上,a@b=a*b每当匹配乘法a并且b是2like的幂时,就是这样独特的运算1,2,4,8...。 要求 以两个非负整数作为输入和输出或打印其XOR乘积。这应该是数字或其十进制字符串表示形式,而不是二进制扩展名。最少的字节数获胜。 不用担心整数溢出。 这是一些格式为的测试用例a b a@b。 0 1 0 1 2 2 9 0 0 6 1 6 …

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项。 程序或功能被允许,独立于每个序列。 输入和输出方式和格式照常灵活。禁止出现标准漏洞。

21
关于N的注解!
JE Maxfield证明了以下定理(请参见DOI:10.2307 / 2688966): 如果AAA是任何正整数具有mmm数字,存在一个正整数NNN使得第一mmm的数字N!N!N!构成整数AAA。 挑战 你的挑战是给一些A⩾1A⩾1A \geqslant 1找到相应。N⩾1N⩾1N \geqslant 1 细节 N!N!N!代表阶乘N!=1⋅2⋅3⋅…⋅NN!=1⋅2⋅3⋅…⋅NN! = 1\cdot 2 \cdot 3\cdot \ldots \cdot N的NNN。 在我们的情况下,AAA的数字应理解为以101010为底。 您提交的内容应适用于任意A⩾1A⩾1A\geqslant 1给予足够的时间和内存。仅使用例如32位类型来表示整数是不够的。 你不一定需要输出至少可能NNN。 例子 A N 1 1 2 2 3 9 4 8 5 7 6 3 7 6 9 96 12 5 16 89 17 69 …

16
定义素数的不同方法
我最喜欢的质数定义之一如下: 2是最小的素数。 如果大于2的数字不能被较小的质数整除,则为质数。 但是这个定义似乎是任意的,为什么2?为什么没有其他号码?好吧,让我们尝试其他一些数字来定义n-素数,这样 n是最小的n-素数。 如果大于n的数字不能被较小的n-素数整除,则为n-素数。 任务 这里的任务是编写一个接受两个输入的程序,一个正整数n和一个正整数a。然后它将确定a是否为n-素数。您的程序应输出两个不同的值,一个表示“是,它是n-素数”,另一个表示“否,它不是n-素数”。 这是一个代码问题,因此答案将以字节计分,而字节数越少越好。 测验 以下是n = 2至n = 12的前31个素数的列表(1是唯一的1个素数) n=2: [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127] n=3: [3,4,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127] n=4: [4,5,6,7,9,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113] n=5: [5,6,7,8,9,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113] n=6: [6,7,8,9,10,11,13,15,17,19,23,25,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107] n=7: [7,8,9,10,11,12,13,15,17,19,23,25,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107] n=8: [8,9,10,11,12,13,14,15,17,19,21,23,25,29,31,35,37,41,43,47,49,53,59,61,67,71,73,79,83,89,97] n=9: [9,10,11,12,13,14,15,16,17,19,21,23,25,29,31,35,37,41,43,47,49,53,59,61,67,71,73,79,83,89,97] n=10: [10,11,12,13,14,15,16,17,18,19,21,23,25,27,29,31,35,37,41,43,47,49,53,59,61,67,71,73,79,83,89] n=11: [11,12,13,14,15,16,17,18,19,20,21,23,25,27,29,31,35,37,41,43,47,49,53,59,61,67,71,73,79,83,89] n=12: [12,13,14,15,16,17,18,19,20,21,22,23,25,27,29,31,33,35,37,41,43,47,49,53,55,59,61,67,71,73,77]

30
前n个没有连续相等的二进制数字的数字
该序列包含以下形式的二进制数字的十进制表示形式:10101...,其中第n个项具有n位。 仅显示数字的二进制和十进制表示形式之间的关系,可能最容易解释该序列: 0 -> 0 1 -> 1 10 -> 2 101 -> 5 1010 -> 10 10101 -> 21 101010 -> 42 挑战: 取一个输入integer n,并返回序列中的前n个数字。您可以选择序列0索引或1索引。 测试用例: n = 1 <- 1-indexed 0 n = 18 0, 1, 2, 5, 10, 21, 42, 85, 170, 341, 682, 1365, 2730, 5461, …

20
卓越的通过时间
有时候,当我真的很无聊时,我喜欢取一个非负整数数组的总和。我只取长度为2的幂的数组的总和。不幸的是我经常犯错误。幸运的是,我通过以下方式跟踪自己的工作: 我添加成对的相邻数字,直到只剩下一个。例如: 6 + 18 + 9 + 6 + 6 + 3 + 8 + 10 = 24 + 15 + 9 + 18 = 39 + 27 = 66 您的工作是确定我是否在某个地方犯了错误。您既可以将输入传递给函数,也可以从标准输入中读取。可以打印或返回输出。 输入:数组/列表/等。非负整数,如果您的语言需要,还可以包含该数组的长度。该数组将是从左到右然后从上到下读取的所有数字。例如,上面的数组将变为: [[6, 18, 9, 6, 6, 3, 8, 10], [24, 15, 9, 18], [39, 27], [66]] 或者, [6, …

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.