21
最有效且最短代码的前n个质数列表
规则很简单: 第一n素数(未引发(prime)下面Ñ),应打印到标准输出由分离的换行(素数应的代码内产生) 素数不能通过内置函数或库来生成,即,使用诸如prime = get_nth_prime(n),is_a_prime(number)或factorlist = list_all_factors(number)之类的内置函数或库函数不会很有创意。 评分-假设我们定义得分 = f([代码中的字符数]),O(f(n))是算法的复杂度,其中n是找到的素数。因此,例如,如果您有一个复杂度为O(n ^ 2)的300个字符代码,则分数为300 ^ 2 = 90000,对于具有O(n * ln(n))的300个字符,分数将变为300 * 5.7 = 1711.13(为了简单起见,假设所有日志都是自然日志) 使用任何现有编程语言,得分最低 编辑:由于对O(f(n))中的“ n”是什么感到困惑,所以问题已从查找“前1000000个素数”更改为“前n个素数”,n是找到的素数(查找素数为问题在这里,所以问题的复杂性取决于找到的素数) 注意:为了澄清一些复杂性,如果'n'是找到的素数,而'N'是找到的第n个素数,则复杂度就n为,而N不等价,即O(f(n))! = O(f(N)) as,f(N)!=常数* f(n)和N!=常数* n,因为我们知道第n个素数函数不是线性的,尽管我发现了'n'素数复杂度应易于用“ n”表示。 正如Kibbee所指出的,您可以访问此网站来验证您的解决方案(此处是旧的google文档列表) 请在您的解决方案中包括这些- 您的程序有什么复杂性(如果不琐碎,请包括基本分析) 字符长度 最终计算出的分数 这是我的第一个CodeGolf问题,因此,如果以上规则有误或漏洞,请指出。