Questions tagged «fastest-code»

最快的代码挑战的赢家取决于提交的运行时性能。为了公平起见,所有提交的文件都应在同一台计算机上进行基准测试,这通常意味着所有提交的文件都必须由挑战主机进行测试。要通过渐近时间复杂度进行评分,请改用[fastest-algorithm]。

14
这是一个截断的三角形数字吗?
相关OEIS序列:A008867 截断三角数 三角数的一个共同属性是它们可以排列成三角形。例如,取21并排列成os 的三角形: Ø OO oo oo oo oo 让我们定义一个“截断:”从每个角切割相同大小的三角形。截断21的一种方法如下: 。 。。 oo oo 。oo。 。。哦。。 (的三角形.是从原始三角形切出的)。 o剩下12 秒,因此12是一个截断的三角形数字。 任务 您的工作是编写一个程序或函数(或等效函数),该程序或函数采用整数并返回(或使用任何标准输出方法)数字是否为截断的三角形数字。 规则 没有标准漏洞。 输入是非负整数。 切口的边长不能超过原始三角形的一半(即,切口不能重叠) 切口的边长可以为零。 测试用例 真相: 0 1 3 6 7 10 12 15 18 19 虚假: 2 4 5 8 9 11 13 14 16 17 …
20 code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

4
在公园种树-尽快!
这个挑战的灵感来自这个程序。测试用例是从该应用程序借用的。 这是最快的代码挑战,目标是在最短的时间内解决最大的测试案例。提供了一些较小的测试用例,以便人们可以更快地测试其算法。 您将得到一个正方形的输入网格,尺寸为n×n,其中9 <= n <= 12。该网格将被划分为n个区域,其中每个区域的单元格都有一个唯一的标识符(我将在文本中使用al中的小写字母,但您可以选择任意值,例如整数1-12) 。 输入可能看起来像这样(可选输入格式): aabbbbbcc adddbbbcc adeeecccc adddefgcc hhhdifggg hdddifffg hhhiifffg hihiifffg iiiiiiggg 或者,更容易可视化: 挑战: 您将根据以下规则在该公园中放置2 * n棵树: 每列应有2棵树,每行应有2棵树 所有区域都必须有2棵树。 垂直,水平或对角线的任何树都不能与另一棵树相邻 上面布局的解决方案是: 注意:每个难题只有一个解决方案 附加规则: 输入和输出格式是可选的 例如,输出可能是索引列表,带有1/0的网格(指示在该位置是否有树)或输入的修改版本(其中指示了树) 执行时间必须是确定的 该程序必须在@isaacg的计算机上完成1分钟 规格:4个CPU,i5-4300U CPU @ 1.9 GHz,7.5G RAM。 如果您的程序无法在一分钟内解决两个最大的测试用例,那么第二大的测试时间(n = 11)将作为您的分数。您将失去解决最大案例的解决方案。 测试用例: 如果提交似乎是针对这些测试用例定制的,那么我可以编辑此列表。 12乘12: --- Input --- aaaaabccccdd aaaaabccccdd …

2
用一连串的棒形成多米诺骨牌
背景 考虑一个(闭合的)杆链,每个杆的长度都是整数。有多少不同的无孔四角系统,你可以在给定链形成的?或者换句话说,对于给定的链,可以形成多少个与轴对齐的边的非自相交多边形? 让我们看一个例子。考虑由8条长度为1和2的杆组成的特定链,我们可以将其表示为[1, 1, 2, 2, 1, 1, 2, 2]。直到旋转和平移,只有8种可能的多米诺骨牌(我们会计算不同的反射): 第一个杆是深蓝色,然后我们以逆时针方向遍历多边形。 旋转感不影响上面示例中的结果。但是,让我们考虑另一条链,[3, 1, 1, 1, 2, 1, 1]它产生以下3个多氨基酸: 注意,我们不包括最后一个多米诺骨牌的反射,因为它需要顺时针遍历。 如果我们有一条相同长度的更灵活的链[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],我们实际上将能够在其他一些多音色之间形成两种反射,总计为9: 挑战 给定链条的描述(以阵列或类似形式),可以按顺序确定杆(在旋转和平移的情况下)可以形成的不同多义氨基酸的数量,同时按逆时针方向绕周长。 请编写完整的程序,并包含用于编译的命令(如果适用),并从命令行运行代码。另请提供指向您所用语言的免费编译器/解释器的链接。 您的程序应从STDIN读取输入。第一行将包含的整数中号。接下来的M行将是测试用例,每个用例将是一个用空格分隔的杆长度列表。您的程序应将M行打印到STDOUT,每行由一个整数组成-可以形成的不同多氨基酸的数量。 您只能使用一个线程。 您的程序在任何时候都不得使用超过1 GB的内存。(这不是一个完全严格的限制,但是我将监视可执行文件的内存使用情况,并杀死任何持续使用超过1 GB或峰值明显超过此1GB的进程。) 为防止过多的预计算,您的代码不得超过20,000字节,并且不得读取任何文件。 您也不能针对所选的特定测试用例进行优化(例如,通过对结果进行硬编码)。如果我怀疑您这样做,我保留生成新基准集的权利。测试集是随机的,因此您的程序在这些测试集上的性能应代表其在任意输入下的性能。您唯一可以做的假设是杆长度的总和是偶数。 计分 我为N = 10、11,...,20根杆的链条提供了基准套件。每个测试集包含50条随机链,长度在1-4之间(含1和4)。 您的主要分数是程序在5分钟内(在我的计算机上,Windows 8下)完成完整测试集的最大N分。决胜局将是程序在该测试集上花费的实际时间。 如果有人击败最大的测试仪,我将继续增加更大的测试仪。 测试用例 您可以使用以下测试用例来检查实现的正确性。 Input Output …

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 

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输出,则必须为 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等等。 字节最少的代码获胜。

2
括号中可能的数值结果数量2 ^ 2 ^…^ 2
考虑2^2^...^2带有n运算符的表达式^。运算符^表示幂运算(“幂”)。假定它没有默认的关联性,因此需要对表达式进行完全括号括起来才能明确。用加泰罗尼亚语数字 给出括号内表达式的方式C_n=(2n)!/(n+1)!/n!。 例如(2^2)^(2^2)=((2^2)^2)^2,有时不同的括号给出相同的数字结果,因此给定的不同可能数字结果的数量n少于C_n所有数字n>1。1, 1, 2, 4, 8, ...与加泰罗尼亚语数字相反,该序列开始1, 2, 5, 14, 42, ... 问题是编写最快的程序(或函数),将其接受n为输入并2^2^...^2使用n运算符返回表达式的不同可能数字结果的数量^。性能不会随着n增长而显着降低,因此直接计算高功率塔可能不是一个好主意。

3
寻找唯一的一场比赛
挑战在于编写代码以解决以下问题。 给定两个字符串A和B,您的代码应输出具有以下属性的A子字符串的开始和结束索引。 A的子字符串还应该与B的某些子字符串匹配,最多可以替换字符串中的单个字符。 不再有满足第一个属性的A子字符串。 例如: A = xxxappleyyyyyyy B = zapllezzz apple带有索引4 8(索引从1开始)的子字符串将是有效的输出。 得分了 答案的分数将是代码长度(以字节为单位)加上在长度分别为一百万的字符串A和B上运行时在我的计算机上花费的时间(秒)之和。 测试与输入 我将在从http://hgdownload.cse.ucsc.edu/goldenPath/hg38/chromosomes/中的字符串中提取的长度为100万的两个字符串上运行您的代码 输入将是标准输入,将只是两个字符串,并用新行分隔。 语言和图书馆 您可以使用具有免费编译器/解释器/等的任何语言。适用于Linux以及任何开源的且可免费用于Linux的库。 我的机器 计时将在我的机器上运行。这是在AMD FX-8350八核处理器上的标准ubuntu安装。这也意味着我需要能够运行您的代码。因此,请仅使用易于使用的免费软件,并请提供有关如何编译和运行代码的完整说明。

10
Bentley的编码挑战:k个最常见的单词
这也许是1986年引起共鸣的经典编码挑战之一,当时专栏作家Jon Bentley邀请Donald Knuth编写一个程序,该程序可以在文件中找到k个最常见的单词。Knuth在一个8页长的程序中使用哈希尝试实现了一种快速解决方案,以说明他的识字编程技术。贝尔实验室的道格拉斯·麦克罗伊(Douglas McIlroy)批评克努斯(Knuth)的解决方案甚至无法处理圣经的全文,并回答了这么短的单行代码,但完成了工作: tr -cs A-Za-z '\n' | tr A-Z a-z | sort | uniq -c | sort -rn | sed 10q 1987年,普林斯顿大学教授发表了后续文章,提出了另一种解决方案。但是,即使是一部圣经,它也无法返回结果! 问题描述 原始问题描述: 给定一个文本文件和一个整数k,您将以降低的频率打印文件中的k个最常见的单词(及其出现的次数)。 其他问题说明: Knuth将一个单词定义为一串拉丁字母: [A-Za-z]+ 其他所有字符均被忽略 大写和小写字母被认为是等效的(WoRd== word) 文件大小和字长无限制 连续单词之间的距离可以任意大 最快的程序是使用总CPU时间最少的程序(多线程可能无济于事) 样本测试用例 Test 1: Ulysses by James Joyce concatenated 64 times (96 MB file). 从古腾堡计划中下载《尤利西斯》:wget …

5
最快的可推算整数分解器
任务是找到一个复合数的重要因素。 在不超过140字节长的情况下,编写代码以尽可能快地找到复合数字的重要因素。输出应该只是您找到的因素。 您的代码可以采用任何方便的方式进行输入和输出,包括例如作为函数的参数。 列出所有因素的测试用例(您只需要输出一个) 187: 11 17 1679: 23 73 14369648346682547857: 1500450271 9576890767 34747575467581863011: 3628273133 9576890767 52634041113150420921061348357: 2860486313 5463458053 3367900313 82312263010898855308580978867: 264575131106459 311111111111113 205255454905325730631914319249: 2860486313 71755440315342536873 1233457775854251160763811229216063007: 1110111110111 1000000000063 1111111999999 1751952685614616185916001760791655006749: 36413321723440003717 48112959837082048697 在以下困难的测试案例中,我不会给您打分,这可能是您感兴趣的测试: 513231721363284898797712130584280850383: 40206835204840513073 12764787846358441471 得分了 您的分数是将以上所有测试用例分解的总时间,每个分解失败的惩罚为10分钟(均四舍五入到最接近的秒数)。您的代码也应该适用于其他整数,这不应该只是硬编码这些答案。 10分钟后,我将停止您的代码。 如果两个人获得相同的分数,则第一个答案将获胜。 限制条件 您的代码不能使用任何执行整数分解的内置函数或库函数。您可以假设输入少于256位。所有输入数字将是复合的。 我将如何计时? 我实际上将time ./myprog在Ubuntu系统上运行以进行计时,因此也请提供一个完整的程序供我运行,其中包括您定义的任何功能。 编译语言说明 在我的机器上,编译时间不得超过1分钟。 真的有可能吗? 如果您忽略空间限制,则可以在我的计算机上使用纯Python代码+ …

12
沙米尔的秘密分享
给定n(玩家数量),t(阈值)和s(秘密),输出n由Shamir的秘密共享算法生成的秘密。 算法 出于这一挑战的目的,将在GF(251)(size的有限域251,也称为整数mod 251)中进行计算。通常,将选择该字段,使其大小比的素数大得多n。为了简化挑战,字段大小将保持不变。251选择它是因为它是8位无符号整数可以表示的最大质数。 生成t-1(包括)范围内的随机整数[0, 250]。标明这些一个1通过一个T-1 。 构造一个t-1使用次多项式s为恒定值,并从步骤1中的功率的系数的随机整数x:F(X)= S + X *一个1 + X 2 * A 2 + ... + X 叔1 * a t-1。 (含)范围内(f(z) mod 251)每个输出。z[1, n] 参考实施 #!/usr/bin/env python from __future__ import print_function import random import sys # Shamir's Secret Sharing algorithm # Input is taken …
17 code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

3
找到下一个素数的最快代码
问题如下。 输入:整数n 输出:大于的最小素数n。 挑战在于提供最快的代码来做到这一点。我将测试上的大小的初始值的代码 大致10^8 10^200直到它超过的规模扩大一倍1分钟我的电脑上10秒钟。 获胜的代码将找到输入量最大的下一个素数。 通过比较,用python编写的简单筛子能够找到比10^8大约20几秒钟大的下一个素数。 我可以在4GB RAM ubuntu计算机上对其进行测试的要求很严格。所有代码都必须是免费的(两种意义上),并且如果使用库,它们也必须是免费的并且易于安装。报告的任何虚假素数都会立即取消提交的资格。 如果代码是完全用该语言编写的,而无需使用外部库,那么我还将对每种编程语言的获奖者分别给予表彰。随着比赛的进行,我还将保持最快时间的运转表,以便人们可以看到他们的表现。 到目前为止的表 蟒蛇。使用由提供的代码,一个惊人的357数字质数343239883006530485749095039954069660863471765007165270469723172959277159169882802606127982033072727748864815569574042901856099399985832190628701414555752857600000000000000000000000000000000000000002872284792758930912601189043411951050852357613658978971208596097634095500808832510259693761982135208603287199546795000697807728609476163156438356035166156820611是10秒内的最终数字primo。有人会打败这个第一名吗?

10
升序矩阵
“升序矩阵”是整数(包括0)的无限矩阵,其中任何元素是最小的可用元素,之前尚未在相应的行和列上使用: | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

1
排列,使得没有k + 2点落在任何次数为k的多项式上
描述 如果没有点集(以及它们的索引)落在次数的多项式上,则将整数的置换{1, 2, ..., n}称为最小可插值。那是,k+2k 没有两点落在一条水平线上(0度多项式) 线上没有三个点(一阶多项式) 抛物线(2次多项式)上没有四个点 等等。 挑战 编写一个程序,计算OEIS序列A301802(n),它的最小可插值置换的{1, 2, ..., n}数量应n尽可能大。 计分 我将在输入增加的情况下在计算机(2.3 GHz Intel Core i5,8 GB RAM)上计时您的代码。您的分数将是最大的输入,只需不到1分钟即可输出正确的值。 例 例如,排列[1, 2, 4, 3]是最小可插值的,因为 the terms together with their indices [(1, 1), (2, 2), (3, 4), (4, 3)] have the property that (0) No two points have …

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.