Questions tagged «fastest-code»

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

21
Python到底有多慢?(或者您的语言有多快?)
我有用Python / NumPy编写的这段代码 from __future__ import division import numpy as np import itertools n = 6 iters = 1000 firstzero = 0 bothzero = 0 """ The next line iterates over arrays of length n+1 which contain only -1s and 1s """ for S in itertools.product([-1, 1], repeat=n+1): """For i ...
149 fastest-code 

30
从较小的“ H”创建一个“ H”
挑战 创建一个函数或程序,当给定整数时size,该函数或程序将执行以下操作: 如果size等于1,则输出 H H HHH H H 如果size大于1,则输出 X X XXX X X X程序/功能的输出在哪里size - 1 (只要您愿意,0只要您在答案中指定,就可以使基本情况与相对应) 可以使用以下任何一种输出格式,以您更方便的方式: 所需结构的字符串,其中任意两个不同的字符分别对应于H和space 具有所需结构的二维数组,其中任意两个不同的值分别对应于H和space 字符串的数组/列表,每个字符串中有一行输出,并且与H和对应的任意两个不同的值space 只要每行上有恒定数量的前导空格,就可以使用前导空格。两个不同的输出字符可以取决于您选择的任何内容,只要它们不同即可。 指定代码返回的输出格式。 测试用例 1 H H HHH H H 2 H H H H HHH HHH H H H H H HH HH H HHHHHHHHH H HH HH ...
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  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 

23
竞赛:排序大量高斯分布数据的最快方法
跟随对此问题的兴趣,我认为通过提出比赛来使答案更加客观和量化会很有趣。 这个想法很简单:我生成了一个二进制文件,其中包含5000万个高斯分布的双精度(平均:0,stdev 1)。目标是制作一个程序,以便尽可能快地对它们进行排序。python中一个非常简单的参考实现需要1m4s的时间来完成。我们能走多低? 规则如下:用一个程序打开文件“ gaussian.dat”并对内存中的数字进行排序(无需输出),并提供有关构建和运行该程序的说明。该程序必须能够在我的Arch Linux机器上运行(这意味着您可以使用可以在此系统上轻松安装的任何编程语言或库)。 该程序必须具有合理的可读性,以便我可以确保它可以安全启动(请不要使用仅汇编程序的解决方案!)。 我将在我的机器(四核,4 GB RAM)上运行答案。最快的解决方案将获得公认的答案和100分的赏金:) 该程序用于生成数字: #!/usr/bin/env python import random from array import array from sys import argv count=int(argv[1]) a=array('d',(random.gauss(0,1) for x in xrange(count))) f=open("gaussian.dat","wb") a.tofile(f) 简单的参考实现: #!/usr/bin/env python from array import array from sys import argv count=int(argv[1]) a=array('d') a.fromfile(open("gaussian.dat"),count) print "sorting..." b=sorted(a) 编辑:仅4 GB的RAM,对不起 ...

13
计算最多n的素数
π(n)是小于或等于n的素数。 输入:自然数n。 输出: π(n)。 评分:这是最快的代码挑战。得分将是得分案例的时间总和。我将为计算机上的每个条目计时。 规则与细则 你的代码应工作的ň高达2十亿(20亿)。 不允许使用琐碎的内置函数。这包括内置的π函数或π(n)的值列表。 不允许测试素数或生成素数的内置函数。这包括素数的列表,除了下一个要点之外,可能无法从外部查找或在本地进行硬编码。 您可以硬编码最多为19的素数,且不能更高。 您对π的实现应是确定性的。这意味着给定特定的n,您的代码应在(大约)相同的时间内运行。 使用的语言必须在Linux(Centos 7)上免费可用。应包括有关如何运行代码的说明。如有必要,包括编译器/解释器的详细信息。 官方时间将通过我的计算机发送。 发布时,请在一些/所有测试/分数案例中包括一个自我评估的时间,以让我估算您的代码运行的速度。 提交的内容必须适合该问题的答案。 我正在运行64位centos7。我只有8GB的RAM和1GB的交换空间。CPU型号为:AMD FX(tm)-6300六核处理器。 测试用例(来源): Input Output 90 24 3000 430 9000 1117 4000000 283146 <--- input = 4*10^6 800000000 41146179 <--- input = 9*10^8 1100000000 55662470 <--- input = 1.1*10^9 得分案例(相同来源) 与往常一样,这些情况可能会发生变化。不允许针对得分情况进行优化。为了平衡合理的运行时间和准确的结果,我可能还会更改案例数。 Input Output 1907000000 ...

14
Python到底有多慢(第二部分)?
这是Python到底有多慢?(或者您的语言有多快?)。 事实证明,对于我的最后一个问题,获得x100加速有点太容易了。对于那些喜欢挑战但又想要更艰苦,可以真正使用其低水平技能的人,这是第二部分。挑战是要在我的计算机上测试以下python代码的速度提高100倍。 为了更加困难,我这次使用pypy。对于我来说,当前时间是使用pypy 2.2.1的1分7秒。 规则 第一个提交我可以运行的代码的人是正确的,并且在我的计算机上运行的速度快100倍,将获得50分的奖励。 一周后,我将以最快的代码奖励胜利。 import itertools import operator import random n = 8 m = 8 iters = 1000 # creates an array of 0s with length m # [0, 0, 0, 0, 0, 0, 0, 0] leadingzerocounts = [0]*m # itertools.product creates an array of all ...

2
扩展OEIS:计算钻石平铺
我保证,这将是我关于diamong拼贴的最后一个挑战(不管怎么说,还是一段时间)。从好的方面来说,这一挑战与ASCII艺术没有任何关系,而且也不是编码竞赛,因此实际上是完全不同的。 提醒一下,每个六角形都可以用三个不同的菱形来命名: 一个有趣的问题是,对于给定的六边形尺寸,这些平铺中存在多少个。似乎已经对这些数字进行了相当彻底的研究,可以在OEIS A008793中找到它们。 但是,如果我们问到旋转和反射之前存在多少个平铺,问题就会变得棘手。例如,对于边长N = 2,存在以下20个拼接: ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ /\_\_\ /\_\_\ /\_\_\ /\_\_\ /_/\_\ /_/\_\ /\_\_\ /_/\_\ /_/\_\ /_/\_\ /\/\_\_\ /\/_/\_\ /\/_/_/\ /\/_/\_\ /\_\/\_\ /\_\/_/\ /\/_/_/\ /\_\/\_\ /\_\/_/\ /_/\/\_\ \/\/_/_/ \/\_\/_/ \/\_\_\/ \/_/\/_/ \/\_\/_/ \/\_\_\/ \/_/\_\/ \/_/\/_/ \/_/\_\/ \_\/\/_/ \/_/_/ \/_/_/ \/_/_/ ...

3
帮助印第安纳·琼斯获得宝藏
故事 印第安纳·琼斯(Indiana Jones)正在探索一个珍贵宝藏所在的洞穴。突然,发生了地震。 地震结束后,他注意到从天花板掉下来的一些岩石挡住了通往宝藏的路。他还注意到他可以推一块石头,但是由于石头很重,所以不能连续推两块石头。 您的目标是帮助印第安纳·琼斯获得宝藏。由于即使一块石头也很难推,所以推的次数非常重要。 问题 找到最好的方法(印第安纳琼斯尽可能少地推石头),找到宝藏。 地图(输入) 映射是一个m按n(均大于1)的矩阵,可以包含五种单元格: 0 表示空白单元格 1 这意味着墙, 2 印第安纳·琼斯所在的位置(只有一个), 3 宝藏所在的位置(只有一个存在), 和4,这意味着一块石头。 在地图的第一行中,地图的尺寸​​指定为4 6,从地图的第二行到最后一行,则指定洞穴的结构,如下所示。 110131 104040 100101 200000 因此,完整的地图是: 4 6 110131 104040 100101 200000 意思是 该映射由stdin,文件(您可以指定文件名)或代码中仅包含上述信息的数组给出。 输出量 印第安纳·琼斯应推销的最低金额。如果没有这种方法,请输出X。 在上述情况下,他可以向左推石头,然后向右推石头以获得宝藏。因此,这种情况下的输出为2。 然而。在这种情况下 : 4 6 111131 104040 100101 200000 (请看下面的部分)他不能推正确的石头,因为它会破坏宝藏。同样,向左推动石头不会改变任何东西。因此,输出为X。 规则 他只能沿向上,向下,向左和向右四个方向移动。 他不能连续推两块石头。 他不能拉任何石头,只能向一个方向(“向前”)推石头。 他不能穿过墙壁。他只能去的地方是空白单元格和藏宝室。 ...

3
解决魔方
编写最短的程序,以在合理的时间范围内移动并解决Rubik的多维数据集(3 * 3 * 3)(例如,在您的计算机上最多5秒,而最多移动1000秒)。 输入的格式为: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (此特定输入表示已解决的多维数据集)。 前12个2个字符的字符串是UF,UR,... BL位置中的边(U =上,F =前,R =右,B =后,L =左,D =下),然后是下8个3个字符的字符串是UFR,URB,... DBR位置中的角。 输出应以这种格式给出一系列移动: D+ L2 U+ F+ D+ L+ D+ F+ U- F+ 其中D1或D +代表将D(下)面顺时针旋转90度,L2代表将L面旋转180度,U3或U-代表将U面逆时针旋转90度。 字母不区分大小写,空格是可选的。 ...

11
查找最大素数,其长度,总和与素数为素数
数字113是第一个素数,其长度3为素数,数字和5 = 1 + 1 + 3为素数,数字乘积3 = 1 * 1 * 3为素数。 具有这三个属性的素数将称为至尊素数。质数11117和1111151是其他示例。 目标 编写一个程序,可以在一台像样的现代个人计算机上在不到一个小时的时间内找到最大的最大质数(例如此处的首选规范)。 您不应该简单地给我们提供最高的质数。您需要使用有效的代码向我们展示您的搜索过程。您可以基于您或其他人的解决方案,但请务必给予他们好评。我们通常是想在一个小时内找到可在普通计算机上实现的最大最高质数。 计分 找到最大的首要胜利的提交。如果事实证明存在无限多个最高素数,则第一个提交的最高素数获胜。 (如果您可以从数学上证明有无数个至尊素数,我会仅仅因为这个而给您200个赏金代表。:)) 细节 您可以使用任何来源生成素数(例如,互联网)。 您可以使用概率素数测试方法。 一切都在基数10中。 零和一不视为质数。 包含0的素数具有0如此明显的数字产品,它们不可能是至高无上的。 为了使页面更整洁,请使用以下格式添加大(100位数以上)最高质数: {[number of 1's before the prime digit]}[prime digit]{[number of 1's after the prime digit]} 因此1111151可以表示为{5}5{1}。

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 

10
你能走多高?(编码+算法挑战)
现在,每个人都开发了自己的(通常是惊人的)低级编码专业知识,以了解Python到底有多慢?(或者您的语言有多快?)以及Python 到底有多慢(第二部分)?现在是挑战的时候了,这也将扩展您改进算法的能力。 以下代码计算长度为9的列表。列表中的位置i用于i计算计算F和之间的内积时找到至少连续零的次数S。为了精确地做到这一点,它遍历了所有可能F的length n列表S和length 列表n+m-1。 #!/usr/bin/python import itertools import operator n=8 m=n+1 leadingzerocounts = [0]*m for S in itertools.product([-1,1], repeat = n+m-1): for F in itertools.product([-1,1], repeat = n): i = 0 while (i<m and sum(map(operator.mul, F, S[i:i+n])) == 0): leadingzerocounts[i] +=1 i+=1 print leadingzerocounts 输出是 [4587520、1254400、347648、95488、27264、9536、4512、2128、1064] 如果使用此代码将n增加到10、12、14、16、18、20,则它很快变得太慢。 规则 挑战在于给出尽可能大的n的正确输出。仅n的偶数是相关的。 ...

28
计算超级对数
这应该是一个简单的挑战。 给定一个数字n >= 0,输出的超级对数(或log *,log-star或迭代对数,它们是等效的,因为n对于该挑战永远不会为负。)n。 这是四官能的两个反函数之一。另一个是超级根,这是一个相关的问题。 例子 Input Output 0 0 1 0 2 1 3 2 4 2 ... 15 2 16 3 ... 3814279 3 3814280 4 规则 您可能不需要支持小数。 您需要至少支持输入3814280 = ceiling(e^e^e)。 您可能不对值进行硬编码3814280。(理论上,您的程序必须支持更高的数字。)我希望实现一种算法。 最短的代码胜出。 相关OEIS
29 code-golf  math  code-golf  array-manipulation  sorting  code-golf  math  arithmetic  matrix  code-golf  string  kolmogorov-complexity  code-golf  string  code-golf  math  sequence  arithmetic  recursion  code-golf  math  ascii-art  sequence  code-golf  math  array-manipulation  code-golf  code-golf  kolmogorov-complexity  code-golf  string  code-golf  string  decision-problem  code-golf  array-manipulation  tips  javascript  json  code-golf  math  string  number  number-theory  code-golf  math  sequence  fibonacci  number  arithmetic  fastest-code  integer  code-golf  math  sequence  code-golf  string  file-system  tips  golfscript  code-golf  string  code-golf  string  natural-language  code-golf  string  file-system  code-golf  math  array-manipulation  code-challenge  image-processing  compression  code-golf  math  number  sequence  code-golf  math  combinatorics  regular-expression  code-golf  sequence  pi  code-golf  ascii-art  code-golf  string  array-manipulation  sorting  code-golf  string  graph-theory  code-golf  string  code-golf  string  ascii-art  code-challenge  compression  code-golf  code-golf  math  sequence  number-theory  code-golf  maze  graph-theory  code-golf  math  sequence 

30
聪明人的海市age楼
从前,我在阅读有关Quora的问题/答案 真的有没有计算机科学学位的程序员无法通过FizzBu​​zz测试 此代码是显而易见的答案 for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i 当然,FizzBu​​zz已经被打死了,但这并不是这个问题的实质。您会在评论中看到有人提到该答案很不错,因为很容易添加额外条件,例如将“ Jazz”打印为4的倍数。(我不同意。扩展此方案需要O(2 ** n )代码行。) 您的挑战是编写由同行判断的最漂亮的FizzJazzBuzz版本。 选民需要考虑的一些事项: 干 除法/模运算的效率 ...
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

2
最快的半素数分解
编写程序以在最短的时间内分解半素数。 为了进行测试,请使用以下命令:38!+1(523022617466601111111760007224100074291200000001) 等于:14029308060317546154181×37280713718589679646221

2
逼近黎曼Theta函数的特殊情况
挑战在于编写能够执行计算上困难的无限和的快速代码。 输入项 一个n由n基质P与是小于整数项,100在绝对值。测试时,我很乐意以您想要的任何合理格式为您的代码提供输入。默认值是矩阵的每一行一行,间隔并在标准输入上提供。 P将是正定的,这意味着它将始终是对称的。除此之外,您实际上并不需要知道肯定肯定意味着什么来应对挑战。但是,这确实意味着以下定义的总和将得到答案。 但是,您确实需要知道什么是矩阵向量乘积。 输出量 您的代码应计算无穷和: 在正确答案的正负0.0001之间。这Z是整数的集合,Z^n所有具有n整数元素的可能向量也是这样,并且e是著名的数学常数,大约等于2.71828。请注意,指数中的值只是一个数字。请参阅以下示例。 这与黎曼Theta函数有什么关系? 在本文中,我们试图计算Riemann Theta函数的近似值。我们的问题是特殊情况,至少有两个原因。 我们将z链接文件中调用的初始参数设置为0。 我们P以使特征值的最小大小为的方式创建矩阵1。(有关如何创建矩阵,请参见下文。) 例子 P = [[ 5., 2., 0., 0.], [ 2., 5., 2., -2.], [ 0., 2., 5., 0.], [ 0., -2., 0., 5.]] Output: 1.07551411208 更详细地讲,让我们只看到此P的总和中的一项。例如,总和中只有一项: 和 x^T P x = 30。请注意,这e^(-30)大约10^(-14)是正确的,因此对于达到给定公差的正确答案不太重要。回想一下,无限和实际上将使用长度为4的每个可能的矢量,其中元素是整数。我只是选择了一个例子。 P = [[ 5., 2., ...

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.