Questions tagged «code-challenge»

代码挑战赛是一种创造性的竞赛,可以用客观的获胜标准来解决编程难题,而其他得分标记(例如,代码高尔夫)则无法涵盖这些目标。

28
做一个简单的自动包装
(注意:这是我有史以来第一个关于高尔夫的代码问题,但是据我所知,没有人能完全做到这一点,所以我应该很好。) 您的任务是制作一个程序或函数,该程序或函数接受一个字符串s和一个整数n,并返回或输出包装成多行的文本。每个单词必须全部在一行上;即中间没有字。每行的n字符长度不能超过字符,并且每行中必须包含尽可能多的单词。 例: s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget erat lectus. Morbi mi mi, fringilla sed suscipit ullamcorper, tristique at mauris. Morbi non commodo nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed at iaculis mauris. Praesent a …
22 code-golf  string  code-golf  string  parsing  apl  math  primes  integer  fastest-code  code-golf  math  primes  integer  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  array-manipulation  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  code-golf  date  conversion  code-golf  geometry  combinatorics  grid  code-golf  string  code-golf  counting  java  code-golf  chess  code-golf  path-finding  conversion  atomic-code-golf  logic-gates  code-golf  fibonacci  code-golf  ascii-art  fractal  code-golf  quine  code-golf  string  code-golf  array-manipulation  decision-problem  code-golf  quine  code-golf  code-challenge  array-manipulation  code-challenge  word-search  code-golf  binary  conversion  code-golf  code-golf  restricted-source  code-golf  kolmogorov-complexity  restricted-source  code-golf  kolmogorov-complexity  random  animation 

23
ASCII艺术八边形
给定输入整数n > 1,输出边长由n字符组成的ASCII八角形。请参阅以下示例: n=2 ## # # # # ## n=3 ### # # # # # # # # # # ### n=4 #### # # # # # # # # # # # # # # # # #### n=5 ##### # # # # # # …
22 code-golf  ascii-art  code-golf  geometry  code-golf  balanced-string  code-golf  cops-and-robbers  code-challenge  cops-and-robbers  code-golf  code-golf  random  cryptography  code-golf  array-manipulation  number  code-challenge  integer  code-golf  math  integer  code-golf  math  math  parsing  image-processing  test-battery  math  number  combinatorics  fastest-code  code-golf  code-golf  math  number-theory  rational-numbers  polynomials  code-golf  math  geometry  code-golf  code-golf  number-theory  primes  factoring  code-golf  restricted-source  code-golf  string  decision-problem  counting  code-golf  math  sequence  fibonacci  code-golf  array-manipulation  counting  code-golf  array-manipulation  number-theory  code-golf  array-manipulation  code-golf  random  code-golf  string  hexadecimal  code-golf  string  code-challenge  sorting  code-golf  number  floating-point  code-golf  sorting  code-golf  decision-problem  fibonacci  code-golf  number  combinatorics  code-golf  string  code-golf  math  code-golf  electrical-engineering  code-golf  javascript  code-golf  base-conversion  code-golf  array-manipulation  matrix  binary-matrix  code-golf  kolmogorov-complexity  python  perl  ruby  code-golf  number  code-golf  optimization  integer-partitions  code-golf  string  code-golf  ascii-art 

24
ogl-edocf挑战
输入项 一个非空的字符串,由范围内的ASCII字符组成。[ 32..126 ][32..126][32..126] 输出量 通过对输入字符串进行连续旋转来获得输出。 对于[a-zA-Z]输入字符串中的每个字母(),从左到右: 如果字母是大写字母,请将其前面的所有字符向左旋转一个位置 如果字母是小写字母,请将其前面的所有字符向右旋转一个位置 例 输入:“ Cb-Ad” 第一个字母是“ C ”。我们应该向左旋转,但是这个“ C ” 之前没有字符。因此,没有任何旋转。 下一个字母是“ b ”。我们向右旋转“ C ”。因为它是单个字符,所以它保持不变。 字符“ - ”不会触发任何旋转,因为它不是字母。 下一个字母是“ A ”。我们轮流“ CB- ”到左边,这给“ 公元前广告” 第四个也是最后一个字母是“ d ”。我们向右旋转“ b-CA ”,即为“ Ab-C d” 因此,预期输出为“ Ab-Cd ”。 规则 您可以将输入作为字符串或字符数组进行输入-根据您的语言,输入内容可能相同也可能不同。 您也可以输出字符数组而不是字符串。 这是ogl-edocf 代码高尔夫 测试用例 "cbad" -> …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

10
压缩原子电离能
这是另一种类型的压缩挑战。在正常的kolmogorov复杂性挑战中,您需要精确地重新创建列表。在这里,您可以按任何希望的方式舍入值。有什么收获?您的分数将根据输出的错误程度而受到处罚。 这个问题的底部是前108个元素的第一电离能的列表。您的程序在执行后应输出此列表的相当准确的副本。将没有输入或参数。出于评分目的,您的输出应该是确定性的(每次输出相同)。 输出格式 您的程序/函数必须输出108个数字的列表,并按原子序数递增的顺序排序。该列表可以采用任何适当的格式。下面的源数据以正确的顺序提供,从氢到has。 计分 您的分数将是您程序的长度(以字节为单位)加上一个四舍五入的罚款。 为每个元素计算一个舍入罚款,并将其相加得出总罚款。 举个例子,我们以数字为准11.81381。假设您的程序输出的值不正确11.81299999。 首先,两个数字都乘以相同的10的幂,以使真实值中不再有小数点:1181381, 1181299.999。真实值中的结尾零被认为是重要的。 然后,采用绝对差确定绝对误差:81.001。 最后,我们将该元素的惩罚计算为max(0, log10(err * 4 - 1)) -> 2.50921。选择该公式时,误差<0.5不会造成任何惩罚(因为四舍五入后的答案是正确的),同时还可以使该数字四舍五入到任何特定的小数位将带来净收益(渐近)的可能性为50%渐近其他压缩)。 这是罚款计算程序的在线试用实现。该程序的输入以数字列表的形式提供,每行一个。该程序的输出是总罚分和每个元素的得分明细。 数据 以下数字列表是目标数据,从原子序数1到108的正确顺序。 资源 13.598434005136 24.587387936 5.391714761 9.322699 8.2980190 11.260296 14.53413 13.618054 17.42282 21.564540 5.1390767 7.646235 5.985768 8.151683 10.486686 10.36001 12.96763 15.7596112 4.34066354 6.11315520 6.56149 6.82812 6.746187 6.76651 7.434018 7.9024678 7.88101 …

15
推倒一些多米诺骨牌!
感谢这个问题的启发 在这个挑战,我们将代表一行多米诺骨牌作为串|,/和\。您将获得一串多米诺骨牌作为输入,并且必须确定它们安定后的样子。这是多米诺骨牌掉落的规则 |左下降的多米诺骨牌左侧的立式多米诺骨牌\也将变为左下降的多米诺骨牌。 |正确的多米诺骨牌的立式多米诺骨牌/也将变成正确的多米诺骨牌。 如果站立的多米诺骨牌介于左\下落的/多米诺骨牌和右下落的多米诺骨牌之间,它将保持站立状态。 重复应用这些规则,直到排列不再更改。 这是单个输入如何得出结论的示例 |||||||\/|||||||\||\|||/||||||\||||| ||||||\\//|||||\\|\\|||//||||\\||||| |||||\\\///|||\\\\\\|||///||\\\||||| ||||\\\\////|\\\\\\\|||////\\\\||||| |||\\\\\////|\\\\\\\|||////\\\\||||| ||\\\\\\////|\\\\\\\|||////\\\\||||| |\\\\\\\////|\\\\\\\|||////\\\\||||| \\\\\\\\////|\\\\\\\|||////\\\\||||| 您的任务是编写查找并输出输入最终结果的代码。您可以假定输入始终有效,并且至少包含2个字符。 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。 测试用例 |||/|||| -> |||///// |||\|||| -> \\\\|||| |/||||\| -> |///\\\| ||/|||\| -> ||//|\\| ||\|||/| -> \\\|||//

9
是名词吗?
给定一个字符串作为输入,请确定它是否为名词。 您会在1000个最常用的英语单词中获得打分,具体取决于是否正确将其标记为名词。 正确地将大多数单词(不超过50个字节)分类的程序或函数将获胜。 名词 名词是通常代表事物的单词。它变得更加复杂,但这是基本思想。 在一个单词可能是名词或其他词性的情况下,我将其归类为名词,即使这种用法很少见。或实际上,我让这个网站替我做。 您将获得评分的单词是这1000个常见单词,它们来自简单的Wikipedia,其中添加了“两个”和“一次”。其中,有586个名词,有414个非名词。您可以在此处找到所有三个列表。请注意,所有这些输入均为小写。这些清单是最终清单-请勿尝试争论语法。 如果您的程序输出真实信息,则将其视为正确在作为名词的输入中结果,而在非名词的输入中结果,。 细微之处: 程序必须具有确定性的输出。如果您想使用随机性,则将其作为种子。程序不得使用内置名词列表或其他内置词性功能。 例子: a: noun act: noun active: noun about: non-noun above: non-noun across: non-noun 请在回答中指出程序的成功率。以成功率最高的最多50个字节的程序或功能为准。如果出现平局,则最低字节数将确定获胜者。祝好运!

7
打印多语种碎片
通常,以多种语言构造多语言,通过将它们包装在字符串文字中,使用注释语法或其他类似的技巧,每种语言可以忽略其他语言存在的代码部分。 您的目标是编写一个多语言版本,其中每种语言的输出是来自产生该输出的多语言版本的代码。具体来说,输出必须由仅删除的多语言代码构造而成,并且必须是给定语言的Quine。 规则 只要 允许适当的Quins(禁止读取源代码,禁止接受输入,如果没有STDOUT选项,则输出必须为STDOUT或最接近的替代方案,并且程序必须不仅包含隐式打印的文字,而且还应包含其他内容)。 由于不同的语言可以使用不同的编码,因此原始字节在这里很重要。例如,如果语言A使用UTF-8,语言B使用CP437,则(十六进制)代码C3 88 46 47为ÈFG用于语言A和├êFG语言B。 所有输出必须是不同的(再次比较原始字节)。这避免了尝试限制次要语言版本时的麻烦-如果两种语言使用代码的同一部分来执行相同的操作,则不能同时声明它们两者。 如果您有两种语言A和B,它们XY在这两种语言中都是有效的输出,但YZ在B中也是有效的,那么您可以选择XY作为A YZ的输出和B的输出,因此可以在分数中同时使用它们(但XY由于上述规则,您无法同时使用两种语言。 所有输出必须尽可能短。例如,如果您的代码是print('foo')#something,对于Python 3(忽略输出不正确的事实),您需要输出的代码将是print('foo'),并且print('foo')#将不允许使用。如果有多个长度相等(最小)的字符串产生正确的输出,则可以选择其中任何一个。 提交内容必须是至少两种语言的多语种。 您的分数将由给出(number of programming languages with distinct outputs)**3/(total byte size of polyglot)。最高分获胜。如果两个提交者得分相同,则首先达到该得分的提交者将获胜。

2
虚拟键盘文字输入
在现代游戏机和其他没有传统键盘的设备上,尝试输入文本是一场噩梦。不得不在虚拟键盘上用几个按钮和操纵杆来打字是很烦人的,而且我希望尽可能少地进行动作/按钮按下。 您将使用的键盘如下所示: +---+---+---+---+---+---+---+---+---+---+ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | +---+---+---+---+---+---+---+---+---+---+ | q | w | e | r | t | y | u | i | o | p | +---+---+---+---+---+---+---+---+---+---+ | a | …

3
编写一个平方程序,输出已被“展开”的次数
对于一个大于1的奇数整数N,考虑一个正方形的文本块,N个字符,宽N个字符。 例如,让N = 5,文本为: MLKJI NWVUH OXYTG PQRSF ABCDE 请注意,这是从左下角逆时针旋转的字母(Z以外)。有点像卷起的地毯。 将文本“展开”顺时针旋转四分之一圈,因此FGHI与以下ABCDE结果处于同一水平: PONM QXWL RYVK STUJ ABCDEFGHI 展开操作可以再进行7次,直到文本变为一行: SRQP TYXO UVWN ABCDEFGHIJKLM UTS VYR WXQ ABCDEFGHIJKLMNOP WVU XYT ABCDEFGHIJKLMNOPQRS XW YV ABCDEFGHIJKLMNOPQRSTU YX ABCDEFGHIJKLMNOPQRSTUVW Y ABCDEFGHIJKLMNOPQRSTUVWX ABCDEFGHIJKLMNOPQRSTUVWXY 挑战 面临的挑战是编写一个N×N文本块的程序,该程序在重新排列为展开模式并运行时输出其“展开”四分之一圈的次数。 这里确实有两个比赛:(希望不会太凌乱) 用最小的N进行此操作(下降到N = 3的限制) 用最大N来执行此操作(无限制) 不会有一个可接受的答案,但是这些类别中的每个类别的获胜者都会收到我的至少50笔赏金。如果是平局,则最早的答案将获胜。 例 如果您的代码块是 MyP rog ram 按原样运行它应输出0。 …

5
洋葱编程
仅使用可打印的ASCII(十六进制代码20至7E),编写一个方形N×N 核心程序,不带注释,并由另外4个层围绕,创建一个(N + 8)×(N + 8)方形程序(N> 0) 。对于N = 3,布局(将由实际代码替换)如下所示: 44444444444 43333333334 43222222234 43211111234 4321CCC1234 4321CCC1234 4321CCC1234 43211111234 43222222234 43333333334 44444444444 C代表核心3×3程序。 1代表第一层,2代表第二层,依此类推。 程序始终采用一串用空格分隔的整数,例如0 -1 31 -1 2 2 2通过stdin或类似的字符串(它应该只是纯数字,没有引号或方括号或其他任何东西)。输出取决于运行布局的哪些部分。 有五种运行程序的方式(运行中包括换行符)。每个函数都与列表不同: 只运行核心: CCC CCC CCC 这将计算输入列表元素的绝对值的最大值,并CORE在新行上打印多次。如果最大值为0,则不会输出任何内容(可以使用换行符)。 该输出0 -1 31 -1 2 2 2将 CORE CORE ... 31次。 在第1层运行核心: 11111 1CCC1 …

2
识别手写数字
您的任务是读取包含手写数字的图像,识别并打印数字。 输入:一个28 * 28灰度图像,以784个纯文本数字序列(从0到255)给出,以空格分隔。0表示白色,255表示黑色。 输出:识别的数字。 评分:我将使用MNIST数据库训练集中的1000张图像(转换为ASCII格式)测试您的程序。我已经(随机)选择了图像,但是不会发布列表。测试必须在1小时内完成,并将确定n-正确答案的数量。 n您的程序必须至少为200才有资格。如果源代码的大小为s,则您的分数将计算为s * (1200 - n) / 1000。最低分获胜。 规则: 您的程序必须从标准输入读取图像并将数字写入标准输出 没有内置的OCR功能 没有第三方库 没有外部资源(文件,程序,网站) 您的程序必须可以使用免费提供的软件在Linux中运行(如果需要,可以接受Wine) 源代码只能使用ASCII字符 每次修改答案时,请发布您的估计分数和唯一的版本号 输入示例: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 …

14
Khinchin的常数,以64个字节或更少的字节为单位
Khinchin常数是一个奇怪的数学常数,根据Wolfram MathWold的说法,“众所周知,很难高精度地计算出来”。 这是100位数字: 2.685452001065306445309714835481795693820382293994462953051152345557218859537152002801141174931847697 ... 编写一个不超过64个字节的程序,以输出Khinchin常数到正确的小数位数的最大数量。 您不得使用任何与Khinchin常数直接相关的内置库常数或函数。(例如,绝对不允许Math.Khinchin(precision)。) 您可以使用数学库来计算对数,求和等。 您可以对全部或部分答案进行硬编码。 您的程序必须产生有限的输出,并且必须在一台相当现代的计算机(例如此处列出的计算机)上运行少于一小时。 您必须输出到stdout。没有输入。 只要http://mothereff.in/byte-counter注册64个字节或更少的字节,就可以使用任何所需的字符。 计分 您的分数是程序从2.68开始正确输出的Khinchin常数中连续数字的位数。您可能会输出不正确的数字,但只有最后一个正确的数字会计入您的分数。 例如,输出 2.68545200 2 06530644530971483548179569382038229399446295305115234234721 得9分。每个数字一个,2 6 8 5 4 5 2 0 0但在2之后不应该是1。

3
元保龄球高尔夫
您的任务是创建最短的程序(A),该程序输出另一个具有最大唯一字节的程序(B),然后又输出原始程序(A)。从本质上讲,您正在打高尔夫一对我们的羽绒带程序(又称定期重复奎因),而另一半则打保龄球。A和B可能使用不同的语言。 规则和计分 您的最终分数是<number of unique bytes in B> / <number of bytes in A>。最高分获胜。请注意,理论上的最高分数是256。 程序A必须至少一个字节长 程序B不能完全由无操作组成,即,至少一个字符必须以某种方式影响输出。 奎因标准规则适用于这两个程序。值得注意的是,在任何情况下都不允许使用错误提示。 为了保持答案格式的一致性,请从以下类似内容开始回答: # <Language for A> & <Language for B>, Score: <B score> / <A score> = <combined score>

4
如何计算单词中的音节
输入:将为您传递一个包含单个英语单词的字符串。所有字母均为小写,并且字符串中没有非字母字符。 输出:您将返回一个从1到7的整数,表示您认为单词中有多少个音节。 评分:您的程序将针对此存储库中找到的所有单词运行。如果您输入的N单词正确,并且程序的大小为M字节,则分数为N-(M*10)。最高分获胜。 为了生成音节计数,我将其用作单词列表,并以此对音节进行计数。

5
用掉期和持续时间排序列表
考虑一个从1到N的整数的随机列表。您只想使用以下操作对其进行排序: 交换第一个和最后一个列表元素。(S) 弹出第一个元素并将其附加到列表的末尾。(P) 这总是可能的,因为任何列表都可以通过相邻元素的足够交换来排序。使用S和P可以交换任何相邻的元素,方法是调用P直到有问题的两个元素是列表中的第一和最后一个项目,然后调用S交换它们,然后再次调用P直到它们在原始索引中(​​现在已交换) )。 但是,就S和P操作的数量而言,此方法对于大多数列表而言不太可能是最佳方法。 挑战 编写一个程序或函数,将数字从1排列到N(N> 1)。它可以作为列表或字符串或任何方便的形式给出。它应该输出一个S和P序列,当从左到右应用该序列时将对排列进行排序。此序列不必最佳地短,但是最好短一些(请参阅评分)。 例 如果输入是[2, 1, 3]输出,则可能是SP因为 应用型,以[2, 1, 3]使得它[3, 1, 2], 和P应用于[3, 1, 2]使它[1, 2, 3],它被排序。 验证者 该堆栈片段可用于验证序列是否确实对列表进行了排序。该列表应带有方括号,并以逗号分隔。SP序列只是一个字符串“ S”和P“”。 <style>*{font-family:monospace}</style><script>function swap(list) {var tmp = list[0];list[0] = list[list.length - 1];list[list.length - 1] = tmp;}function pop(list) {list.push(list.shift())}function check() {var result = 'Sorted sucessfully.';var details = …

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.