Questions tagged «primes»

遇到有关识别和处理质数的挑战

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

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 

5
是否有更多的硬物或软物
与假设分析书的开头相切。 输入是一个由空格组成的矩形,如字符串,字符串列表等,其对象由#内部组成: ######## # # ######## ### #### ### #### ### 对象将始终是非相交,非接触的矩形。软对象的定义是#中间没有用填充的对象,而只是边界,而硬对象则是填充的对象。具有宽度或高度的对象<=2被认为是坚硬的。所有对象都是硬的或软的。 如果输入,输出中有更多的硬对象"Hard",如果较软,则输出"Soft",如果相等则输出"Equal"。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 这些情况不是全部输入,而是每个对象应表征的内容。实际输入将类似于问题顶部的ascii艺术。 硬 # #### ## ## ########## ########## ########## 柔软的 ### # # ### ################### # # # # # # ################### #### # # # # # # # # # # # # …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

11
最大化平方差
考虑从1到的整数值的置换N。例如此示例N = 4: [1, 3, 4, 2] 我们将认为此列表是循环的,因此1和2被视为相邻列表。我们可以为这样的列表计算的一个量是相邻值的总平方差: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 给定正整数,您的任务是找到一个最大化此数量的排列N。在N = 4上面的例子中不是最佳的(实际上,这是最小的)。18通过以下排列(以及其他几个排列),我们可以实现的总平方差: [1, 4, 2, 3] 您的算法必须在(的N)多项式时间内运行。特别是,您不能简单地计算所有排列的总平方差。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输出可以采用任何方便,明确,平坦的列表或字符串格式。您可以选择从与返回值的列表0,以N-1代替1向N。 适用标准代码高尔夫球规则。 测试数据 这个问题有一个很好的分析解决方案。例如,所有有效的解决方案N = 10均等效于以下列表(直至循环移位和反转): [7, 5, 6, 4, 8, 2, 10, 1, 9, 3] 我不想透露过多的信息(尽管足以找出模式),因此无需给出更多示例,您可以检查您的结果是否具有给定的总平方差N: N Total squared difference 1 0 2 …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

3
素数的映射
最近,我发现从正整数到有限的嵌套序列的双射映射f。挑战的目的是用您选择的语言来实现它。 映射 考虑一个号码ň与因素在那里。然后: 例如: 规则 您可以编写完整的程序或函数来执行此任务。 输出可以是可识别为序列的任何格式。 允许用于素数分解,素数测试等的内置。 不允许出现标准漏洞。 您的程序必须在10分钟内完成我机器上的最后一个测试用例。 这是代码高尔夫球,所以最短的代码获胜! 测试用例 10: {{},{{}},{}} 21: {{{}},{},{{}}} 42: {{{}},{},{{}},{}} 30030: {{{}},{{}},{{}},{{}},{{}},{}} 44100: {{{{}}},{{{}}},{{{}}},{},{}} 16777215: {{{{}}},{{}},{{}},{},{{}},{{}},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{{}}} 16777213:pastebin

12
最小素数和
SF(n)是一个函数,用于计算给定数字n的最小素数。 我们称T(N)为每个SF(n)的总和,其中2 <= n <=N。 T(1)= 0(总和超过0) T(2)= 2(2是第一个素数) T(3)= 5 = 2 + 3 T(4)= 7 = 2 + 3 + 2 T(5)= 12 = 2 + 3 + 2 + 5 ... T(10000)= 5786451 获胜者将是能够在我自己的笔记本电脑(东芝Satellite L845,Intel Core i5、8GB RAM)上在60秒内计算出最大T(N)的人。 Current top score: Nicolás Siplis - 3.6e13 points - …

13
谢尔宾斯基层
首先,/\您可以通过在下面添加一条线来创建类似于Sierpinski三角形的图案,从而... 任何松散的分支/或\再次分裂为两个分支:/\。 分支的任何碰撞都将\/死,其下无任何东西(只有空格)。 重复这些规则将产生 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... (ViHart的启发) 编写一个程序或函数,该程序或函数接受一个正整数N,并将此模式的前N行打印到stdout,且前导或尾随空格不超过所需数量。 例如,如果输入是1输出,则必须为 /\ 如果输入是2输出,则必须为 /\ /\/\ 如果输入是8输出,则必须为 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等等。 字节最少的代码获胜。

28
计算主要差距
寻找素数是程序设计的一种仪式,而且经常是某人创建的第一个严肃程序(通常是审判部门)。 但是,素数已经破旧了。接下来更有趣的事情是获得质数差距:连续质数之间的迄今为止最长的差距。这些是非常稀有和“珍贵的”。前几对及其区别是: 2 3 1 3 5 2 7 11 4 23 29 6 89 97 8 113 127 14 ... 我父亲过去常常手工计算出这些数据的趣味性,最高可达1万。让我们看看您能得到的代码有多短。 规则: 没有内置功能可用于主要测试,主要生成或主要差距 不能检索http://oeis.org/A002386或类似的东西(我可以闻到你很远的作弊者:)) 没有预先计算的数组 继续打印,直到内部整数类型对您失败 最少的字符数获胜。+10个字符(如果仅打印不带撇号的空格)。 如果有趣的话,您也可以展示带有内置函数的版本。要有创造力。 澄清:您经历了素数,并且每次看到的差距都比以往任何时候都要大时,您都要进行报告。例如,在3到5之间,有2个单位宽的间隙。5与7之间的差距也为2,但这已经是个老新闻了,我们不再关心。只有看到新的最大差距时,才进行报告。这反映出,随着差距越来越大,素数的频率越来越低。 编辑:大多数答案都是出色的,应该得到更多的认可。但是,到目前为止,具有48个字符的GolfScript条目是最短的。
19 code-golf  primes 

5
查找最大素数,该最大素数在删除数字后仍然是素数
在/math/33094/deleting-any-digit-yields-a-prime-is-there-a-name-for-this上,提出以下问题。删除任何一位数字后,剩下多少个素数?例如719,您得到了这样的素数71,19而79。尽管这个问题尚未解决,但我认为这是一个不错的编码挑战。 任务。 给出最大的质数,您可以在删除其任何一位后找到仍为质数的质数。您还应该提供找到它的代码。 得分了。您提供的素数的价值。 您可以使用任何免费的编程语言和库。 首先,要99444901133在链接页面上给出最大的内容。 时限。在第一个正确答案大于答案中给出的最大正确答案一周后,我将接受最大的正确99444901133答案。 分数到目前为止。 Python(原始) 4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111 J(随机)(此答案从2013年2月21日开始为期一周的计时器。) 222223333333

26
coprime这个词是吗?
给定一个单词,将每个字母都当作英语字母中的数字(因此a变成1,b变成2,z变成26,依此类推),然后检查所有它们(包括重复项)是否都是成对的互质数。 输入的内容正好是一个小写英文字母的单词。如果单词是互质的,则输出为事实:任何真值/假值,但只有它们的两个变体。禁止出现标准漏洞。 测试用例: man: True day:(True感谢ØrjanJohansen) led:False(l=12和d=4有gcd=4) mana:(True尽管a多次出现,1和1是互质数) mom:False(gcd(13,13)=13)) of:False(感谢XNOR;虽然15∤6,gcd(15,6)=3) a:(True如果没有成对的字母,也将该单词视为互素) 这是一个代码高尔夫球,因此以字节为单位的最短代码胜出!

13
是Pascal Prime吗?
众所周知,奇数质数会在Pascal三角形中出现两次。但是,并非所有在Pascal三角形中正好出现两次的数字都是质数。我们称这些数字为Pascal素数。 帕斯卡素数是在帕斯卡三角形中正好出现两次的复合数。前几个Pascal素数是 4, 8, 9, 12, 14, 16, 18, ... 您的挑战是取一个正整数n作为输入,并输出true或false,这取决于n是否为Pascal素数。这是代码高尔夫球,所以最短的程序胜出!

19
打印缺少的素数
任务 编写一个程序或函数,当传递数值输入时x,该函数将打印或返回x1的平方根以下不属于的素数x。 例子 假设f(x)该函数为: >>> f(4) [] >>> f(5) [2] >>> f(20) [3] >>> f(60) [7] >>> f(100) [3, 7] >>> f(10000) [3, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] 奖金规则 您可以使用您的语言提供的任何内置函数。 您的程序必须支持x与您的语言定义的上限一样高的输入。 1将平方根用作仅平方根下方的素数实际上可以包含的因素x。如果没有这个限制,较大的数字将有很多多余的印刷数字。

13
戈德巴赫分区
哥德巴赫猜想指出,每个大于2的偶数都可以表示为两个素数之和。例如, 4 = 2 + 2 6 = 3 + 3 8 = 5 + 3 但是,一旦达到10,就会发生一些有趣的事情。不仅可以写成10 5 + 5 但也可以写成 7 + 3 因为10可以表示为两个方法的两个素数之和,所以我们说10的“哥德巴赫分区”是2。或更笼统地说, 数字的戈德巴赫分区是不同的书写方式的总数,n = p + q其中p和q是素数,p >= q 您面临的挑战是编写一个找到数字的Goldbach分区的程序或函数。现在,从技术上讲,术语“戈德巴赫分区”仅用于表示偶数。然而,由于奇数整数P + 2可以也可以表示为两个素数的总和如果P> 2为素数,我们将这个扩展到所有正整数(A061358)。 您可以放心地假设您的输入将始终为正整数,并且可以使用我们默认的任何允许方法进行输入和输出,例如函数参数和返回值,STDIN和STDOUT,读取和写入文件等。 最多100个正整数的Goldbach分区为: 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 0, 1, …

19
计算Mertens函数
给定正整数n,计算Mertens函数 M(n)的值,其中 和μ(ķ)是莫比乌斯函数,其中μ(ķ)= 1,如果ķ具有不同的素因子偶数,-1,如果ķ具有奇数个的不同的素因子,和0,如果首要因素是不明显。 这是代码高尔夫球,因此请为计算输入整数n > 0 的Mertens函数的函数或程序创建最短的代码。 这是OEIS序列A002321。 测试用例 n M(n) 1 1 2 0 3 -1 4 -1 5 -2 6 -1 7 -2 8 -2 9 -2 10 -1 117 -5 5525 5 7044 -25 8888 4 10000 -23

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.