Questions tagged «code-golf»

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

11
解释+ p代码
受最近对另外两种字符语言的热潮启发, ;# 介绍 根据社区的共识,此站点上可接受的答案必须使用至少以下语言: 可以确定自然数是否为素数 可以将两个自然数相加 可以代表数字的列表/元组,以及单个数字 为了这个挑战,我们将忽略#3。因此,可以在此站点上使用的最简单的语言(忽略#3)将只有两个命令,isPrime和add。为了便于解释和字节计数,让我们分配isPrime给p和add对+。因此,我们有了自己的语言+p。您的挑战是解释一些+p代码。 行为 +该add指令取两个数字,将它们相加,然后输出结果 p所述isPrime指令需要一个单一的数,并将其输出1它是否为素数,并且0,如果它不是 规则 您必须编写一个给定字符串的程序/函数,将该程序/函数解释为+p代码。您可以假设格式正确的输入(仅包含+和p字符)。 输入是灵活的。您可以将程序作为字符串,字符数组,代码点的整数数组等形式使用。正在解释的程序的输入也很灵活。您可以采用整数数组,并在程序执行时用完条目,或者每个指令(+和p)都可以单独请求输入。您可能会假设每条指令都有足够的输入。确保输入由0到200之间的数字组成(但理论上,您的算法应适用于任何正整数输入)。 输出也很灵活。您可以打印结果,将它们作为列表返回,返回包含所有结果的字符串,等等。如果以字符串形式打印或返回,则输出必须用一些非数字的,一致的分隔符分隔,例如换行,标签,空格或,字符。您可能有尾随分隔符或一些尾随空格。另外,p的输出可能是您使用的语言所定义的任何真或假值,而不是1或0。 解释器可能会终止也可能不会终止(如果它是一个完整的程序),但是在解释完所有指令之后必须停止打印。(它无法永远继续打印分隔符或空字符等)。 默认情况下,这些标准漏洞是禁止的 这是代码高尔夫球,用最少的字节数获胜的答案 测试用例 Program: + Input: [56, 50] Output: 106 ---------------------------------- Program: p Input: [12] Output: 0 ---------------------------------- Program: p Input: [13] Output: 1 ---------------------------------- Program: ++ Input: [172, 120, 33, 58] Output: 292 …

16
打印真实的不可见文本
我以前的挑战是“ 打印不可见文本”非常流行,这可能是因为它太琐碎了。 但是,那些更细心的人可能已经注意到您并不是真正在打印不可见的文本,因为仅给出输出就无法读取输入的内容。 因此,我想到了真正的隐形文本挑战。 给出只由可打印的ASCII字符(串0x20-0x7E),每个字符转换为一个不同的Unicode字符(以UTF-8编码)不属于95个可打印的ASCII字符中的一个(任UTF-8字符以外0x20-0x7E的范围) 输入值 一串可打印的ASCII字符,可以是字符串,也可以是字符数组/列表 输出量 每个字符的输入字符串均替换为不同的不可打印字符。每个给定字符都必须具有一个相应的不可打印字符,该字符不可替代任何其他字符。 如果无法打印不可打印的字符,则可以输出字符值。 例如,如果您的代码将所有小写字母替换a为0x01,则您不能将其0x01用作其他任何字符的替换。 您的代码也必须是确定性的。这意味着,如果给定string Hello,所有小写字母l都替换为0x03,则您的代码也必须l使用0x03给定的任何其他字符串替换所有小写字母。 测试用例 为此挑战编写测试用例有些困难,因此我将输出显示为十六进制代码列表 input -> output "Hello" -> [0x01, 0x02, 0x03, 0x03, 0x04] "Hi!" -> [0x01, 0x05, 0x06] "" -> [] " H " -> [0x07, 0x07, 0x07, 0x01, 0x07, 0x07, 0x07] "yo! " -> [0x08, 0x04, 0x06, …

20
给我烤一个蛋糕!
这是一块蛋糕: _========_ | | +________+ | | +________+ | | +________+ 它是8宽,3高和1深。 您必须编写一个程序,通过3个输入来制作蛋糕。第一个输入控制中间有多少个下划线=,顶部是s。这是第一个宽度为10而不是8的蛋糕: _==========_ | | +__________+ | | +__________+ | | +__________+ 第二个输入控制蛋糕的高度。这是第二个蛋糕,高度为4而不是3: _==========_ | | +__________+ | | +__________+ | | +__________+ | | +__________+ 注意各层的重复。 第三个输入控制它的深度。那就是| |要包含在顶部的个数。这是深度为2而不是1的第三个蛋糕 _==========_ | | | | +__________+ | | +__________+ | …

2
我会被丹尼斯推翻吗?
根据传说,几乎每个人都被丹尼斯推倒了。如果没有,他们会的。 现在我很好奇我是否是“几乎所有人”之一。 系统会以的格式为您提供答案的链接/codegolf/[QUESTION ID]/[QUESTION NAME]/#[ANSWER ID]。 找到代码的长度,我们将其假定为链接中答案第一行的最后一个数字(明智的降价方式)。 然后,搜索Dennis的答案,然后执行相同的操作。 现在比较输入的答案和Dennis的答案代码长度,如果超出长度(表示Dennis的一个或多个答案比输入答案的答案短),则输出真实值,如果不是,则输出虚假值。 如果在与该答案相同的问题上没有属于丹尼斯的答案,则输出虚假值。 例子 连结:true 链接:(false至少现在,告诉我什么时候改变) 规则 您可以使用任何形式的真实/虚假值。 您得到的答案的问题将永远是code-golf。 该问题可能没有丹尼斯的答案,但是输入的答案永远不会属于丹尼斯。 您可能会认为答案的第一行总是有一个数字。

30
创建一个鹦鹉程序
给定输入,输出该输入,然后不断地换行。 输入将是仅由可打印的ASCII字符(0x20-0x7E)和换行符(0x0A)组成的字符串。 如果输入长度为0,则不断输出换行符。 这是代码高尔夫球,因此每种语言中最少的字节会获胜!
15 code-golf  string  sequence  combinatorics  fastest-code  number  code-challenge  restricted-source  rosetta-stone  code-golf  arithmetic  decision-problem  integer  factorial  code-golf  arithmetic  decision-problem  integer  bitwise  code-golf  kolmogorov-complexity  code-golf  tips  vim  code-golf  quine  code-generation  code-golf  string  restricted-source  code-golf  string  random  unicode  code-golf  audio  code-golf  ascii-art  code-golf  decision-problem  code-golf  puzzle-solver  code-golf  restricted-source  code-golf  kolmogorov-complexity  permutations  hexagonal-grid  code-golf  string  math  combinatorics  fastest-code  code-golf  restricted-source  code-golf  string  code-golf  arithmetic  code-golf  math  number  code-golf  string  decision-problem  balanced-string  code-golf  binary  code-golf  string  number  code-challenge  restricted-source  code-golf  ascii-art  printable-ascii  interactive  code-golf  string  ascii-art  code-challenge  restricted-source  source-layout  code-golf  arithmetic  tips  functional-programming  golfing-language  code-golf  binary  encryption 

10
将我一分为二
您将获得一个号码x,在哪里0 <= x <= 2^32 - 1。 在以二进制格式递归拆分后,您应该以十进制输出数字列表。 例子: 范例1: 255 -> 255 15 15 3 3 3 3 1 1 1 1 1 1 1 1 当前列表为255。 的二进制表示形式255是1111 1111。拆分它,我们得到1111and 1111,其中十进制是15and 15。 我们将它们添加到列表中,因此我们将拥有255 15 15。 现在的数字15和15将作为输入,这些数字是被分裂。 老毛病又犯了,我们(获得3 3来自两个15或多个): 255 15 15 3 3 3 3。 继续逻辑,最终列表将为255 15 15 3 3 …

8
将数字分解成三角形
给定一个整数n,将其分解为最大三角数之和(其中T m表示第m个三角数,或从1到m的整数之和),如下所示: 当n> 0时, 找到最大可能三角形数Ť 米使得Ť 米 ≤Ñ。 将m附加到n的三角分解表示中。 从n中减去T m。 例如,输入44将产生8311的输出,因为: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36 <44,但1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45> 44。 第一个数字是8 …

1
搜索库的代码行进方式
挑战: 我的音乐收藏中有成千上万首歌曲,幸运的是,我最喜欢的播放器具有搜索功能。我也有一个美好的回忆-我可以记住收藏中每首歌曲的标题。但是,我很懒惰,不喜欢打字-每次额外的按键操作都很麻烦! 要隔离一首歌曲,我必须搜索的最短字符串是什么?帮我记住一个列表,以便在搜索时尽量减少键入! 这是代码高尔夫球,因此最短的代码获胜。 规则: 给定一个歌曲标题的输入列表,请生成一个受以下限制的搜索关键字列表: 每个歌曲标题都应有一个搜索键。 输出列表中的字符总数必须尽可能少。 我最喜欢的音乐播放器是foob​​ar2000: 搜索功能不区分大小写。(apple与aPpLE)。 每个搜索关键字必须由一个或多个“单词”组成,并且以任意顺序且以空格分隔: 每个单词必须是相应歌曲标题的子字符串。 如果多次指定相同的子字符串,则其相应的歌曲标题中必须出现多次。 如果子字符串本身包含空格,则该子字符串必须用引号引起来。 提示: 通常,对于某些歌曲标题,有多个符合规则2的搜索键。在这种情况下,任何一个键都可以,但是您会获得布朗尼点,以列出所有键。 您可以假设输入列表将仅使用ASCII字符,但是由于UTF-8兼容性而获得了布朗尼点。 规则3难以遵循吗?运作方式如下: 显示代码段 +----------------------+ +--------+ +----------------+ +------------------------------------+ | Input | | Output | | Statistics | | Explanation | |----------------------| |--------| |----------------| |------------------------------------| | | | Search | | Key | # of | …

13
打印包含输入的quine
任务 在输入中将为您提供一个字符串,该字符串仅包含从ato到的字符z,即输入将与正则表达式匹配/^[a-z]*$/。 您的输出应该是使用相同语言的完整程序,其源代码包含输入,并且是适当的代码。 例 您的程序将接收输入abc和输出: ...abc... 上面的代码应该是一个完整的程序,使用相同的语言,并且没有输入和输出: ...abc... 即它输出自己。 计分 这是代码高尔夫球。以字节为单位的最短答案将获胜。 参考文献 什么才算是合适的麦片?
15 code-golf  quine 

6
模拟我的键盘
我的键盘出现了问题(更有可能是浏览器出现了问题)。有时,当我单击一个新的文本字段并开始输入时,我所有的文本都会向后显示。经过很短的时间(出于挑战的目的,我们会说是10毫秒),它将恢复再次向前键入。似乎一开始我开始输入时光标没有移动,所以所有字母都插入了文本字段的开头。 例如,如果我输入的python内容pyt是在最初的10毫秒内输入的,则结果为 hontyp 任务 您的工作是在尽可能少的字节中模拟此行为。 输入值 您可以采用任何合理的方法进行输入。但是,您可能不能将输入作为两个单独的字段。当程序开始允许输入时,应开始10毫秒的延迟。也就是说,在允许输入之前,您可能需要进行预处理,这不应算作10毫秒。 在时间上允许一定的宽恕,只要它在合理配置的计算机上平均为10毫秒且偏离时间不超过1毫秒(不超过1%)即可。 输出量 您可以按照自己认为合适的任何方法输出字符串。您可以在用户输入时实时更新,也可以在完成输入后(通过换行符或文件结尾^D)输出结果。 测试用例 其中一些是由此CMC在第十九字节中生成的 First 10 | after | result bra in-flak in-flakarb ap ple plepa code- golf golf-edoc no ne neon we st stew ai med media draw back backward
15 code-golf  string  date 

10
木炭打高尔夫球的技巧
木炭是一种仅由ASCII和DLosc创建的语言,专门处理ASCII艺术挑战。 您在木炭上打高尔夫球有哪些技巧?显然,我在寻找与木炭特别相关的技巧,而不是那些可以应用于大多数(即使不是全部)语言的技巧。
15 code-golf  tips 

4
Sp | Lit wo(r)dS,S(P)lit wO | rds
m | Y bR | ain为We | iRd。F(o)RT(h)E La | sT fi(v)e YE | ars O | R s | o,(I)在h(a)lf wh | En中具有C(u)T wO | rds (I)s(e)e Th | em。当我开始执行操作时,我付出了很大的努力-B(u)TI几乎不会(n)T d | o。N(o)w,我将其放在脑后,几乎没有(| n | d)它。但是,我认为这将是一个巨大的挑战。 定义 对于这个挑战,根据我对Sans-Serif字体宽度的判断,每个字母都会得到一个满分。您将使用此宽度将一个单词切成相等宽度的两半。该挑战将使用的字符是小写和大写字母,撇号和连字符。 Width Characters 1 i l I ' 2 f j r …
15 code-golf  string 

30
暂停时间是原来的两倍
您面临的挑战是打印输入,等待任何时间,打印输入,等待两次您最初等待的时间,再次打印输入,依此类推。初始延迟必须小于1小时,并且后续延迟的精度必须为+/- 5%。除此之外,对延迟时间没有限制。 例: 输入:hi。 输出:hi(1ms暂停)hi(2ms暂停)hi(4ms暂停)hi(8ms暂停)hi(16ms暂停),等等 还允许: hi(暂停1分钟)hi(暂停2分钟)hi(暂停4分钟)hi(暂停8分钟)hi(暂停16分钟),等等。 输入必须在程序开始时提供(STDIN,命令行参数,函数参数等),并且必须是字符串。 初始延迟不能为0。
15 code-golf  string  date 

2
画一条直线
绘制包含直线的简单ASCII艺术图像。它类似于这个和这个,但不同的规格。 输入值 您可以修改此输入格式以适合您的代码。 整数 width 整数 height 整数 x0 整数 y0 整数 x1 整数 y1 输出量 填充的ASCII艺术图像,具有指定的宽度和高度,其中包含一条从像素(x0, y0)到像素的线(x1, y1)。 任何标准形式的文本输出都是可以接受的,但不要使用内置的线条绘制功能。 细节 该线条必须使用单个可打印字符(例如#)绘制,而背景则用不同的字符(例如.)填充。您必须打印必要的结尾字符,以便图像尺寸正确。 像素坐标可以是0索引或1索引,并且可以从图像的任何角落开始。应通过想象一条连接起始像素和终止像素中心的0宽度子像素线来绘制该线。该行输入的每个像素均应填写。 获奖 通常的代码高尔夫球规则。最短的代码获胜。 例子 IN: width, height, x0, y0, x1, y1 IN: 7, 6, 0, 0, 6, 5 OUT: .....## ....##. ...##.. ..##... .##.... ##..... IN: 3, 3, …

23
计算列表中集合的出现次数
给定一个非空的字符串集和一个字符串列表,请找出该字符串集在列表中出现的次数,即可以使用列表中的项创建该字符串集的次数。列表中的每个元素只能使用一次。 提示:集合是唯一项的无序列表。 默认输入/输出规则适用。 不允许外部库。编译器/解释器标准库是可以的。这是代码高尔夫,因此最短的解决方案很重要。 测试用例: ["apple", "banana"], ["apple", "pear", "apple", "banana", "banana"] => 2 ["apple", "banana"], ["apple", "pear", "apple", "banana", "apple"] => 1 ["apple", "banana", "pear"], ["apple", "banana", "kiwi", "apple"] => 0 ["coconut"], [] => 0 编辑:删除了一个句子,指出输入参数是在本地范围内定义的。这与上面链接的默认IO规则相矛盾。

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.