Questions tagged «code-golf»

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

15
创建一个尽可能靠近正方形的网格
创建使网格尽可能靠近正方形的函数或程序 您将得到一个整数N作为输入,整数(1、2、3、25等) 输出必须是N个字母的完美矩形网格,并尽可能接近正方形 (wannabe)方块必须由用户指定的字母O或X之一组成 要点: 硬编码为仅O或X:+1 一个param(0/1,true / false,类似的东西)以旋转输出(例如5或8):-10 设计正方形(以某种方式同时使用O和X):-5 如果图案包含两种类型的字符(其中x / y轴> = 3)并且在水平或垂直翻转时保持不变(允许将Xs与Os交换),则该图案被视为有效 例子 INPUT: 4 INPUT: 5 INPUT: 8 INPUT: 9 OO OOOOO XXXX XOX OO XXXX OXO or rotated 90deg XOX 不允许的示例(行或列的长度不一样) BAD RESULT: 5a BAD RESULT: 5b BAD RESULT: 8 OOO OO OOO OO OO …

2
写书作家
这是一本打开的书的相当简单的ASCII描述: |\ | \ | \ | \ | \__________ | || | | || Lorem i | \ || psum do | \ || lor sit | \ || amet, | \ || consect | \||_________| 请注意,文本部分仅在右侧页面上,宽7个字符,高5个字符。另请注意,该书的顶部边缘有5个反斜杠和10个下划线。10来自文本宽度加3,而5是10的一半。 使用相同的缩放格式,我们可以调整书的大小以使其文本区域的宽度为w个字符,高度为h个字符,其中w为任何奇数正整数,h为任何正整数。 一些w × h的书:1×1、1×2、3×2 |\ |\ | \ |\ | \____ | …

12
列出一组元素的组合
给定一组n元素,挑战在于编写一个函数,该函数列出k该集合中所有元素的组合。 例 Set: [1, 7, 4] Input: 2 Output: [1,7], [1,4], [7,4] 例 Set: ["Charlie", "Alice", "Daniel", "Bob"] Input: 2 Output ["Daniel", "Bob"], ["Charlie", "Alice"], ["Alice", "Daniel"], ["Charlie", "Daniel"], ["Alice", "Bob"], ["Charlie", "Bob"] 规则(已编辑) 您可以选择输出的顺序。 输入可以是任何类型的数据。但是输出应与输入的类型相同。如果输入是整数列表,则输出也应该是整数列表。如果输入是字符串(字符数组),则输出也应该是字符串。 该代码应与任意数量的输入变量一起使用。 您可以使用任何编程语言。 答案也应该能够使用任何东西(字符串,整数,双精度数...)作为输入和输出。 禁止与组合和排列有关的任何内置函数。 最短的代码获胜(以字节为单位)。 决胜局:票。 时间:1周。 PS请注意极端输入,例如负数,0等。
10 code-golf 

10
将字节数组转换为base64
您的任务是编写一个将字节数组(即:从0到255的整数数组)转换为base64的函数/程序。 不允许使用内置的base64编码器。 所需的base64实现是RFC2045。(使用“ +”,“ /”和带有“ =”的强制填充) 最短的代码(以字节为单位)获胜! 例: 输入(int数组): [99, 97, 102, 195, 169] 输出(字符串): Y2Fmw6k=

4
减少Ascii艺术
这个挑战是来自Enlarge ASCII art的剪切粘贴,但是使用基于PetSCII的半块字符反转了: string=" ▝▘▀▗▐▚▜▖▞▌▛▄▟▙█" 所以,我们的目标是通过减少1/2submited ASCII艺术。对于示例,从字符串中: OOOOOO OOOOOO OOOOOO OOOOOOO OOOOOO OOOOOO OO OOOOOOO OO OO OO OO OO OO OO OO OO OO OO OO OO OO OO OO OOOOO OO OOO OO OO OO OOOOO OO OO OO OO OO OO OO OO OO OO OO OO …

3
展开选项卡(实现expand(1))
这次您的任务是实现POSIX expand(1)实用程序的变体,该实用程序将制表符扩展为空格。 您的程序将采用制表符规范,然后读取标准输入中的输入,并用适当的空格量替换输入中的制表符以到达下一个制表符。结果应写入标准输出。 制表符规格 制表符规范由一个数字或一个逗号分隔的制表符列表组成。在单个数字的情况下,将其重复,就好像它的倍数出现在以逗号分隔的列表中一样(即4充当4,8,12,16,20,...)。逗号分隔列表中的每个条目都是一个正整数,可以选择以前缀+。甲+前缀表示在逗号分隔列表中的先前的值的相对差。列表中的第一个值必须是绝对值(即无前缀)。制表符指定下一个非空格字符的列(在扩展的制表符之后),最左边的列作为数字0。制表符应始终扩展到至少一个空格。 输入输出 您可以自行决定将Tabstop规范用作程序的第一个命令行参数,或者从标准中读取作为第一行输入(由换行符终止)。读取制表符后,将处理和扩展剩余的输入(在前一种情况下为所有输入),直到EOF为止。扩展后的输出应写入标准输出。 假定所有扩展的制表位和所有输入的最大宽度为80列。所有扩展的制表符都在严格增加。 例 Tabstop规范4,6,+2,+8等效于4,6,8,16,并且两者都输入 ab<Tab>c <Tab><Tab>d<Tab>e<Tab>f 扩展为(␣表示空格) ab␣␣c ␣␣␣␣␣␣d␣e␣␣␣␣␣␣␣f 01234567890123456 (Ruler for the above, not part of the output) 1111111 评分是纯粹的代码高尔夫;最短的代码胜出。

10
计算数字的超级根
在数学中,四位运算是幂运算后的下一个超算子,并且定义为迭代幂运算。 另外(一个成功ñ次) 乘法(一个加入到本身,Ñ次) 幂(一乘以本身,Ñ次) 滴定(一次取幂,n次) 四元数的逆关系称为超根和超对数。你的任务是写,鉴于A和B,打印出B中的程序ND A的阶超根 例如: 如果A = 65,536和B = 4则打印2 如果A = 7,625,597,484,987和B = 3则打印3 A和B是正整数,结果必须是小数点后5位数精度的浮点数。结果属于真实域。 注意,超级根可能有许多解决方案。
10 code-golf  math 

7
计算十二生肖
鉴于农历新年快到了,计算给定日期的十二生肖,元素和太极图是一个挑战。 输入应为日期: 1/31/2014 这里使用的日期是美式风格mm/dd/yyyy,但也可以是ISO-8601风格:yyyy-mm-dd因此日期输入的风格并不严格。 输出应为中国十二生肖中的动物符号,包括与日期相对应的元素以及与Taijitu对应的元素: Horse - Wood - Yang 下表显示了生肖-元素-太极图的关系:中国生肖-年 输出格式不严格,但应包含动物,元素和Taijitu组件,并应以某种方式定界。 上述日期的有效输出示例包括: (horse, wood, yang) ["Horse", "Wood", "Yang"] 您的程序应返回至少100年(包括今天)的有效输出。这意味着它需要考虑至少安装了两个60年(Sexagenary)周期。
10 code-golf  date 

3
疯狂的化学方程式
您应该从用户那里获得一串化学方程式(没有空格,只有字母(大写和小写),数字,方括号和数学符号),并且在方程式是否平衡时打印答案(任何一对正负答案) :是/否,是/否,1/0)。为了使代码更短,您可以假设输入字符串只能包含以下元素:Al,Ar,B,Be,C,Cl,Cr,Cu,Fe,H,He,K,N,O,S。还有另外一点:可能有-迹象。这全都与数学有关:+表示加法,-表示减法。 例子: 输入: C6H5COOH-O2=7CO2+3H2O 输出: No 输入: 2Fe(CN)6+2SO2+202=Fe2(SO4)2+6C2N2 输出: Yes 输入: 2SO2=2SO4-2O2 输出: Yes 最短的代码获胜。
10 code-golf 

2
用尽可能多的语言创建一系列垃圾邮件生成器
Rosetta-stone挑战的目标是用尽可能多的语言编写解决方案。炫耀您的编程多语言! 在此挑战中,您将创建一个程序,该程序将在输入种子文本的情况下生成垃圾邮件。例如,给定输入 [Thank you/Wow/Great], this [blog/post/writing] [gives/provides/delivers] [great/excellent/wonderful/superior] [content/information/data]. You [may/could] [find/get/retrieve] [similar/related] [content/information/data] at spammysite.com. 可能的输出可能是 Thank you, this writing delivers excellent data. You may find similar content at spammysite.com. (来自https://security.stackexchange.com/q/37436/29804的想法) 不过有一个陷阱!您还必须以其他语言输出程序。该程序在运行时还将以其他语言输出垃圾邮件文本和程序,也将以其他语言输出垃圾邮件文本和程序... 您的分数将是character count / (number of languages ^ 2)。 例如,我可能有一个Ruby程序。它将输入的种子文本作为输入,并输出随机垃圾邮件文本和Python程序。 运行此Python程序(无输入),它将输出另一个随机垃圾邮件文本和一个Perl程序。 运行此Perl程序(无输入),它将输出另一个随机垃圾邮件文本。 在此示例中,我的得分将是原始Ruby程序的长度除以9(我有3种语言,而3 ^ 2为9)。 其他杂项: 您必须至少使用2种不同的编程语言。 请列出每个输出的程序。这样,即使某人没有所有语言,他们仍然可以查看其来源。您可以使用以下简短示例文本:[Please/Kindly] …

4
确定哪个值代表路径中的哪个方向
重要编辑:先前,示例1中的值不正确。此问题已得到解决。 您将获得一个二维数组,其中每个单元格包含四个值之一。 例子: 1 2 2 2 2 1 @ . . X X V 1 3 1 4 1 4 e . @ I C V 2 3 1 3 4 2 H H @ X I V 1 4 4 2 1 3 V C C 2 2 …
10 code-golf 

8
圣诞节倒计时
本着假期的精神,并且已经有人开始冬季主题(建造一个雪人!),我提出了一个新的挑战。 在您认为合适的任何明确格式(不是控制台)上,在独立的窗口(不是控制台)上打印直到圣诞节(12月25日午夜(00:00:00)12月25日)之前的天数,小时数,分钟数和秒数,并根据这些内容不断进行更新价值观改变。 输入-什么都没有,必须读取系统时间。 最短的代码胜出:)字符串“ Days”,“ Hours”,“ Minutes”,“ Seconds”和“ Until Christmas”是免费代码。您也可以根据需要对其进行调味。为了产生良好的输出,纯粹对它们进行调味。您不能为制作魔术数字来保存代码而对字符串加味。
10 code-golf 

9
帮助农民
农夫杰克很穷。他想减轻整个农场的负担,但要尽量减少成本。一盏灯可以照亮它自己的细胞以及它的八个邻居。他已经在自己的领域中安排了灯具,但是在您是否需要保留额外的灯具时需要他的帮助。 多余的灯:从农场中移出的灯对点亮的细胞数量没有影响。同样,您将指向的灯不会一一卸下,但同时会被卸下。 注意:您只能执行的操作是卸下一些灯。您不能重新排列或插入灯。您的最终目标是删除最大数量的灯,以使之前点亮的每个单元仍然点亮。 帮助农民杰克发现最大数量的无用灯,以便他可以在其他地方使用它们。 输入值 您将在字段M和N的第一行尺寸中找到。接下来的M行包含N个字符,每个字符代表该字段。 “ 1”代表保留灯的单元格。 “ 0”表示一个空单元格。 输出量 您必须输出一个包含无用灯数量的整数。 样本输入: 3 3 100 010 001 样本输出: 2 优胜者: 由于它是代码高尔夫球,因此获胜者将是成功完成任务的最少字符数的人
10 code-golf 

6
TUT语言翻译器
通过将每个字母替换为相应的“ TUT单词”,可以将文本翻译为TUT语言的书面版本,如下表所示(摘自链接文章)*: a e h hash o o u yu b bub i ay p pup v vuv c kut j jag q kwak w waks d dud k kak r rut x eks e i l lul s sus y yak f fuf m mum t tut z zuz …
10 code-golf  string 

5
生成Skolem序列
Skolem序列 甲斯科伦序列是序列2n号,其中每个数字i之间1和n恰好出现两次,两次出现之间的距离i是准确i的步骤。以下是Skolem序列的一些示例: 1 1 1 1 4 2 3 2 4 3 16 13 15 12 14 4 7 3 11 4 3 9 10 7 13 12 16 15 14 11 9 8 10 2 6 2 5 1 1 8 6 5 以下序列不是 Skolem序列: 1 2 1 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.