Questions tagged «code-golf»

Code-golf是在最小的源代码字节中解决特定问题的竞赛。

28
最大素数指数
给定一个整数n >= 2,输出其素数分解中的最大指数。这是OEIS序列A051903。 例 让n = 144。其主要分解为2^4 * 3^2。最大指数是4。 测试用例 2 -> 1 3 -> 1 4 -> 2 5 -> 1 6 -> 1 7 -> 1 8 -> 3 9 -> 2 10 -> 1 11 -> 1 12 -> 2 144 -> 4 200 -> 3 500 …

13
做NP:找到最大的集团
背景 在撰写本文时,P与NP的问题仍未解决,但是您可能已经听说过Norbert Blum的新论文,声称P!= NP已被证明是错误的(但我们将会看到)。 本文讨论的问题是集团问题。至少这是我在报纸上读到的,如果我错了,请更正我,但是无论如何,我希望您编写一个解决以下变体的程序: 任务 假设我们有一所大学校,有很多学生。每个学生在这所学校都有一些朋友。一个集团的学生是仅由学生谁是朋友与一组的每个其他成员。 您的程序将接收成对的朋友,作为他们的输入。从这些信息中,程序必须找到最大的集团的规模。学生用整数ID标识。 如果您更喜欢数学术语,这意味着您将获得一个无向图的边缘,该边缘分别由两个节点标识。 输入项 您的输入将是一个正整数对的非空列表,例如[[1,2],[2,5],[1,5]]。您可以采用任何明智的形式来输入此输入,例如,作为数组的数组,作为文本行,每个文本行包含两个数字,等等... 输出量 预期的输出是一个数字n >= 2:最大集团的规模。与上面的例子中的输入,其结果将是3,因为所有的学生(1,2和5)是朋友彼此。 测试用例 [[1,2]] => 2 [[1,2],[3,1],[3,4]] => 2 [[1,2],[2,5],[1,5]] => 3 [[2,5],[2,3],[4,17],[1,3],[7,13],[5,3],[4,3],[4,1],[1,5],[5,4]] => 4 (the largest clique is [1,3,4,5]) [[15,1073],[23,764],[23,1073],[12,47],[47,15],[1073,764]] => 3 (the largest clique is [23,764,1073]) [[1296,316],[1650,316],[1296,1650],[1296,52],[1650,711],[711,316],[1650,52], [52,711],[1296,711],[52,316],[52,1565],[1565,1296],[1565,316],[1650,1565], [1296,138],[1565,138],[1565,711],[138,1650],[711,138],[138,144],[144,1860], [1296,1860],[1860,52],[711,1639]] => 6 (the largest clique …

30
没有人知道GAU编号
让我向您介绍GAU编号 GAU(1) = 1 GAU(2) = 1122 GAU(3) = 1122122333 GAU(4) = 11221223331223334444 GAU(6) = 11221223331223334444122333444455555122333444455555666666 ... GAU(10) = 11221223331223334444122333444455555122333444455555666666122333444455555666666777777712233344445555566666677777778888888812233344445555566666677777778888888899999999912233344445555566666677777778888888899999999910101010101010101010 这个挑战非常简单! 给定整数n> 0,求出GAU(n)的位数 例 让我们使GAU(4) 采取以下步骤(直到达到4)并将它们连接起来 [1][122][122333][1223334444] 您必须将每个数字写成它的值多次,但是每次必须从1开始计数 让我们尝试使GAU(5) 必须从1数到1 [1] 然后从1到2(但每个数字重复其值的次数) [122] 然后从1到3 [122333] 然后从1到4 [1223334444] 最后是1到5(这是最后一步,因为我们想找到GAU(5)) [122333444455555] 现在我们执行所有这些步骤并将它们串联起来 ,结果是GAU(5) 11221223331223334444122333444455555 我们对这些GAU编号的位数感兴趣。 测试用例 输入⟼输出 n ⟼ Length(GAU(n)) 1 ⟼ …

22
让你在我身后撒旦总理!
撒旦·普里姆斯 他们是谁? 它们Primes包含666 以下内容:撒旦-总理:[46663,266677,666599,666683,616669] 这些不是:[462667,665669,36363631,555] 情节 每个大于6661的数字后面都有撒旦·普里姆斯 挑战 给定一个整数,n>6661可以找到(或相等)和自己最近的撒旦素数。 例子 整数n=30000有3撒旦素数(SP)背后:[6661, 16661, 26669]。 您的代码必须返回26669最接近它的代码 测试用例 输入->输出 6662->6661 10000->6661 66697->66697 (a SP returns himself) 328765->326663 678987->676661 969696->966677 规则 您的代码应适用于n您语言范围内的任何代码。 这是代码高尔夫球,因此最短答案以字节为单位!
22 code-golf  primes 

30
自己添加一个数组
今天的挑战是获取一个数组,将其拆分为多个块,然后添加这些块。 这是这样的:程序或函数将被赋予一个整数数组a和一个块大小L。数组应拆分为size个数组L,如果不能将数组长度整除,L则该数组后面应附加0,这样就可以将其整除。数组分块后,所有分块将逐个元素地添加在一起。然后输出结果数组。 您可以假定L大于0,这a是非空的。您不能假设a的内容为正。 这是一个例子: [1,2,3,4,5,6,7,8], 3 => [1,2,3]+[4,5,6]+[7,8,0] => [1+4+7,2+5+8,3+6+0] => [12,15,9] 测试用例: Array Length Output [1] 1 [1] [1] 3 [1,0,0] [0] 3 [0,0,0] [1,2] 3 [1,2,0] [1,2] 1 [3] [-1,1] 2 [-1,1] [-7,4,-12,1,5,-3,12,0,14,-2] 4 [12,-1,0,1] [1,2,3,4,5,6,7,8,9] 3 [12,15,18] 这是代码高尔夫球,最少字节获胜!

22
模乘逆
您的任务是给定两个整数,a并b计算模b的模乘法乘法逆(如果存在)。 模的a模逆b是一个c这样的数字ac ≡ 1 (mod b)。b对于任何一对a和,此数字都是唯一的模b。它的存在只有的最大公约数a和b是1。 在维基百科页面的模反元素可以,如果你需要关于主题的更多信息,进行咨询。 输入输出 输入以两个整数或两个整数的列表形式给出。您的程序应输出一个数字,即间隔中的模乘逆0 < c < b,或者一个指示没有逆的值。该值可以是任何值,除了range中的数字之外(0,b),也可以是一个例外。但是,对于没有倒数的情况,该值应该相同。 0 < a < b 可以假设 规则 该程序应在某个时候完成,并应在不到60秒的时间内解决每个测试用例 适用标准漏洞 测试用例 以下测试用例以以下格式提供: a, b -> output 1, 2 -> 1 3, 6 -> Does not exist 7, 87 -> 25 25, 87 -> 7 2, 91 -> 46 …

13
折叠连续的整数
相关:告诉我我必须做多少数学问题! 挑战 给定一个严格正的严格递增整​​数列表L和L的长度3≤N≤的整数,用一个破折号替换L的长度≥N的连续整数游程的中间整数-。 规则 水平空格不相关。 您可以选择保留语言默认列表格式的介绍人,分隔符和终止符。请参阅下面的格式化示例。 资料范例 所有这些示例都使用L = 3 5 6 7 8 10 11 12 14 16 17 18 19 20 21 22 24。 N = 3 → 3 5 - 8 10 - 12 14 16 - 22 24 N = 4 → 3 5 - 8 …

23
分形大教堂
给定正整数n >= 1,输出n以下结构的第一行: # # # ### # # # # # ## ## ##### # # # # # # # # # # ### # ## ## ## # ## ### ### ####### 的n第1索引的行是的二进制表示n,而不复制的最后一个字符的镜像,以#代替1和<space>到位0的所有行居中。 您必须以ASCII艺术形式输出,但是您可以使用任何非空白字符代替#示例中使用的字符。允许尾随空格,并允许尾随换行符。输出必须类似于示例,并且没有多余的前导空格或前导换行符。 您可以在此处查看分形大教堂的前1023行。 为了生成更大的测试用例,这是Python中的非引用参考实现

12
多云吗?
挑战 给定天空的图像,您必须以oktas输出云量。提供的图像将是图像文件(取决于您的类型),输出应为STDOUT。 奥克塔斯 在气象学中,okta是用于描述任何给定位置(如气象站)的云量的度量单位。根据云层覆盖了八分之几的天空来估算天空条件,范围从0 oktas(完全晴朗的天空)到8 oktas(完全多云)。 天空永远是中午左右的照片(所以,蓝天,不是红色/夜空)。 云的颜色将始终是遵循以下模式的颜色: #ABCDEF 哪里AB >= C0,CD >= C0和EF >= C0。 或者,在RGB中: (A, B, C) 哪里A >= 192,B >= 192和C >= 192。 以下是与Oktas相关的百分比覆盖率: 0% - 0 oktas 12.5% - 1 okta 25% - 2 oktas 37.5% - 3 oktas 50% - 4 oktas 62.5% - …

15
无限动力塔
挑战 非常简单,给定输入x,计算出它的无限功率塔! x^x^x^x^x^x... 对于在那里的数学爱好者来说,这是x无限的四分法。 请记住以下几点: x^x^x^x^x^x... = x^(x^(x^(x^(x...)))) != (((((x)^x)^x)^x)^x...) 感到惊讶的是,我们还没有遇到与此有关的“简单”数学挑战!* 假设条件 x将永远收敛。 负数和复数应该能够处理 这是代码高尔夫球,因此最低字节为准! 您的答案至少应正确到小数点后5位 例子 Input >> Output 1.4 >> 1.8866633062463325 1.414 >> 1.9980364085457847 [Square root of 2] >> 2 -1 >> -1 i >> 0.4382829367270323 + 0.3605924718713857i 1 >> 1 0.5 >> 0.641185744504986 0.333... >> 0.5478086216540975 1 …
22 code-golf  math 

5
代码Golfinator-3000
正如大家都知道,加入inator-3000任何名词结束使得它的方式更冷。但是还有什么可以使单词更酷呢? 给定一个ASCII字符串作为输入,输出该单词的简洁性。 计算凉爽度 有4个元素可以计算单词的清爽度。 这个词本身。基本分数是大写字母的数量乘以1000 结束号码。单词末尾的数字(例如burninator- 3000)被添加到基本分数中,但是如果该数字超过4个数字,则表示它们过于贪婪,因此应忽略该数字。 连接器。结束编号前的空格加1000,而连字符加2000,则任何其他符号或完全没有符号无效。 后缀。如果单词以结尾ator,则将最终分数加倍。如果结尾为inator,则将分数提高三倍。这些不区分大小写。 因此例如Burninator-3000可以计算如下: 1 Capital letter - Base Score: 1000 (1000(base) + 3000(number) + 2000(hyphen)) * 3(suffix) = 18000 测试用例 Burninator-3000 -> 18000 Burnator3000 -> 8000 BurNinator 100 -> 9300 BuRnInAtOr-7253 -> 42759 burn -> 0 burn- -> 0 bUrn-1 -> 3001 inator-7 …
22 code-golf  string 

27
排序差异列表
整数列表的差异列表是连续成员的列表差异。 例如,差异列表 1, 3, 2 ,4 是 2, -1, 2 您的任务是将差异列表作为输入,并输出对原始列表进行排序后的差异列表的外观。 例如差异列表 2, 1, -2, -1 可能代表清单 2 4 5 3 2 排序时是 2 2 3 4 5 其中有一个差异列表 0 1 1 1 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。

6
科特林打高尔夫球的秘诀
考虑到Google最近宣布Kotlin正式支持Android开发,我认为现在应该就此相对较新的JVM语言向社区调查一些很棒的高尔夫技巧。 Kotlin在JVM兄弟中包括独特的功能组合,这使其对于打高尔夫球具有潜在的吸引力: 操作符重载 local,infix和static扩展函数 聪明的演员 Groovy样式的类型安全的构建器 输入别名 范围 广泛的功能性收藏包 脚本支持 那么,如何从Kotlin程序中挤出最后几个字节?请给每个答案一个提示。
22 code-golf  tips 

12
给我上杆
可以说您的工作是给杆子上漆,客户要求您给杆子涂上4个红色部分和3个黄色部分。您可以很容易地做到这一点,如下所示: r y r y r y r 仅有黄色和红色条纹。现在,假设您的客户要您用2个红色部分,2个黄色部分和1个绿色部分绘制一个杆。有两种方法可以画杆子 g y r y r y g r y r y r g y r y r y g r y r y r g g r y r y r g y r y r y g r y r …

20
是超级素数吗?
背景 一个超贷是一个素数,其指数中的所有质数的列表也是素数。该序列如下所示: 3、5、11、17、31、41、59、67、83、109、127、157、179、191,... 这是OEIS中的序列A006450。 挑战 给定一个正整数,确定它是否是超质数。 测试用例 2:假 3:正确 4:假 5:是的 7:假 11:是 13:假 17:是 709:是的 851:错误 991:是的 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜。

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.